FS-Cache: Add transition to handle invalidate immediately after lookup
authorDavid Howells <dhowells@redhat.com>
Wed, 5 Dec 2012 13:34:49 +0000 (13:34 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 20 Dec 2012 22:19:22 +0000 (22:19 +0000)
commit969695215f9a865cbf64c4ce3742ac9fc57fffed
treec46829a111afa436a2a1b18495a46348ccee04f3
parent8c209ce721444a61b61d9e772746c721e4d8d1e8
FS-Cache: Add transition to handle invalidate immediately after lookup

Add a missing transition to the FS-Cache object state machine to handle an
invalidation event occuring between the back end completing the object lookup
by calling fscache_obtained_object() (which moves to state OBJECT_AVAILABLE)
and the backend returning to fscache_lookup_object() and thence to
fscache_object_state_machine() which then does a goto lookup_transit to handle
the transition - but lookup_transit doesn't handle EV_INVALIDATE.

Without this, the following BUG can be logged:

FS-Cache: Unsupported event 2 [5/f7] in state OBJECT_AVAILABLE
------------[ cut here ]------------
kernel BUG at fs/fscache/object.c:357!

Where event 2 is EV_INVALIDATE.

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