Messages in this thread | | | Date | Fri, 22 Apr 2022 10:44:19 +0800 | Subject | Re: [PATCH v9 03/21] cachefiles: unbind cachefiles gracefully in on-demand mode | From | JeffleXu <> |
| |
On 4/21/22 10:02 PM, David Howells wrote: > Jeffle Xu <jefflexu@linux.alibaba.com> wrote: > >> + struct kref unbind_pincount;/* refcount to do daemon unbind */ > > Please use refcount_t or atomic_t, especially as this isn't the refcount for > the structure.
Okay, will be done in the next version.
> >> - cachefiles_daemon_unbind(cache); >> - >> /* clean up the control file interface */ >> cache->cachefilesd = NULL; >> file->private_data = NULL; >> cachefiles_open = 0; > > Please call cachefiles_daemon_unbind() before the cleanup.
Since the cachefiles_struct struct will be freed once the pincount is decreased to 0, "cache->cachefilesd = NULL;" needs to be done before decreasing the pincount. BTW, "cachefiles_open = 0;" indeed should be done only when pincount has been decreased to 0.
-- Thanks, Jeffle
| |