[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3509261.1652187198@warthog.procyon.org.uk>
Date: Tue, 10 May 2022 13:53:18 +0100
From: David Howells <dhowells@...hat.com>
To: Jeffle Xu <jefflexu@...ux.alibaba.com>
Cc: dhowells@...hat.com, linux-cachefs@...hat.com, xiang@...nel.org,
chao@...nel.org, linux-erofs@...ts.ozlabs.org,
torvalds@...ux-foundation.org, gregkh@...uxfoundation.org,
willy@...radead.org, linux-fsdevel@...r.kernel.org,
joseph.qi@...ux.alibaba.com, bo.liu@...ux.alibaba.com,
tao.peng@...ux.alibaba.com, gerry@...ux.alibaba.com,
eguan@...ux.alibaba.com, linux-kernel@...r.kernel.org,
luodaowen.backend@...edance.com, tianzichen@...ishou.com,
yinxin.x@...edance.com, zhangjiachen.jaycee@...edance.com,
zhujia.zj@...edance.com
Subject: Re: [PATCH v11 03/22] cachefiles: unbind cachefiles gracefully in on-demand mode
Jeffle Xu <jefflexu@...ux.alibaba.com> wrote:
> Add a refcount to avoid the deadlock in on-demand read mode. The
> on-demand read mode will pin the corresponding cachefiles object for
> each anonymous fd. The cachefiles object is unpinned when the anonymous
> fd gets closed. When the user daemon exits and the fd of
> "/dev/cachefiles" device node gets closed, it will wait for all
> cahcefiles objects getting withdrawn. Then if there's any anonymous fd
> getting closed after the fd of the device node, the user daemon will
> hang forever, waiting for all objects getting withdrawn.
>
> To fix this, add a refcount indicating if there's any object pinned by
> anonymous fds. The cachefiles cache gets unbound and withdrawn when the
> refcount is decreased to 0. It won't change the behaviour of the
> original mode, in which case the cachefiles cache gets unbound and
> withdrawn as long as the fd of the device node gets closed.
>
> Signed-off-by: Jeffle Xu <jefflexu@...ux.alibaba.com>
Acked-by: David Howells <dhowells@...hat.com>
Powered by blists - more mailing lists