fuse: allocate for_background dio requests based on io->async state
authorBrian Foster <bfoster@redhat.com>
Tue, 14 May 2013 15:25:39 +0000 (11:25 -0400)
committerMiklos Szeredi <mszeredi@suse.cz>
Tue, 14 May 2013 16:25:44 +0000 (18:25 +0200)
commitde82b923012ff8790bcfff381eb3ca9069d00f49
tree2b6fc1f054abe5c04932951ea038fb900303b170
parentf722406faae2d073cc1d01063d1123c35425939e
fuse: allocate for_background dio requests based on io->async state

Commit 8b41e671 introduced explicit background checking for fuse_req
structures with BUG_ON() checks for the appropriate type of request in
in the associated send functions. Commit bcba24cc introduced the ability
to send dio requests as background requests but does not update the
request allocation based on the type of I/O request. As a result, a
BUG_ON() triggers in the fuse_request_send_background() background path if
an async I/O is sent.

Allocate a request based on the async state of the fuse_io_priv to avoid
the BUG.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
fs/fuse/file.c