[Linux-cachefs] [PATCH] fscache: extended "dying" check before emitting EV_INVALIDATE
David Howells
dhowells at redhat.com
Tue Apr 23 16:57:46 UTC 2013
Max Kellermann <mk at cm4all.com> wrote:
> Before emitting an FSCACHE_OBJECT_EV_INVALIDATE event, the function
> __fscache_invalidate() checks whether the fscache_object is currently
> "dying". This checks only the current state, not the queued events
> that will very soon lead to the object's death.
This should not be a problem, I think. EV_RETIRE and EV_RELEASE should only be
set by fscache_relinquish_cookie(). If you (the netfs) call that to dispose of
a cookie to fscache, you shouldn't thereafter be calling fscache_invalidate()
on it. The only case in which __fscache_invalidate() should see a dying object
is if the caching backend withdraws it (ie. EV_WITHDRAW is set).
Do you have a backtrace?
David
More information about the Linux-cachefs
mailing list