FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure
authorDavid Howells <dhowells@redhat.com>
Thu, 19 Nov 2009 18:11:41 +0000 (18:11 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 19 Nov 2009 18:11:41 +0000 (18:11 +0000)
commitd461d26dde901b0523c46b0317e7fccf574a3933
treeabaac0f4259ec9458fa40be85ed7a3d4f8982cc5
parent2175bb06dc6cf2af9c098a1770561f9e63edae4e
FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure

We must make sure that FSCACHE_COOKIE_LOOKING_UP is cleared on lookup failure
(if an object reaches the LC_DYING state), and we should clear it before
clearing FSCACHE_COOKIE_CREATING.

If this doesn't happen then fscache_wait_for_deferred_lookup() may hold
allocation and retrieval operations indefinitely until they're interrupted by
signals - which in turn pins the dying object until they go away.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/fscache/object.c