[Linux-cachefs] PROBLEM: ASSERT(object->dentry) fails in cachefiles_delete_object()
David Howells
dhowells at redhat.com
Thu Sep 18 10:20:37 UTC 2014
Manuel Schölling <manuel.schoelling at gmx.de> wrote:
> [1. text/plain; object_fscache_cookie.txt]
> ...
> flags = 23
That would be 0x17, or:
FSCACHE_COOKIE_LOOKING_UP
FSCACHE_COOKIE_NO_DATA_YET
FSCACHE_COOKIE_UNAVAILABLE
FSCACHE_COOKIE_RELINQUISHED
so fscache_relinquish_cookie() was called and the cookie thinks it was still
in the process of being looked up.
> [2. text/plain; object_fscache_parent_cookie.txt]
> ...
> flags = 32
That would be 0x20, or:
FSCACHE_COOKIE_ENABLED
so that appears to be live.
> [3. text/plain; object_fscache_parent.txt]
> ...
> state = 0xffffffffa02b07c0 <fscache_osm_WAIT_FOR_CMD>,
> ...
> lookup_jif = 4298902188,
> oob_event_mask = 96,
> event_mask = 109,
> events = 16,
> flags = 56,
The flags are 0x38, or:
FSCACHE_OBJECT_IS_LIVE
FSCACHE_OBJECT_IS_LOOKED_UP
FSCACHE_OBJECT_IS_AVAILABLE
so the parent object looks okay.
So it does just look like I've failed to take account of the fact that I can
get to the DROP_OBJECT state without actually looking up the object - and thus
I might not see object->dentry having been set yet.
David
More information about the Linux-cachefs
mailing list