6897e3df8f
The object-available state in the object processing state machine (as processed by fscache_object_available()) can't rely on the cookie to be available because the FSCACHE_COOKIE_CREATING bit may have been cleared by fscache_obtained_object() prior to the object being put into the FSCACHE_OBJECT_AVAILABLE state. Clearing the FSCACHE_COOKIE_CREATING bit on a cookie permits __fscache_relinquish_cookie() to proceed and detach the cookie from the object. To deal with this, we don't dereference object->cookie in fscache_object_available() if the object has already been detached. In addition, a couple of assertions are added into fscache_drop_object() to make sure the object is unbound from the cookie before it gets there. Signed-off-by: David Howells <dhowells@redhat.com> |
||
---|---|---|
.. | ||
cache.c | ||
cookie.c | ||
fsdef.c | ||
histogram.c | ||
internal.h | ||
Kconfig | ||
main.c | ||
Makefile | ||
netfs.c | ||
object-list.c | ||
object.c | ||
operation.c | ||
page.c | ||
proc.c | ||
stats.c |