]> www.infradead.org Git - users/jedix/linux-maple.git/commit
fuse: direct-io: don't dirty ITER_BVEC pages
authorAshish Samant <ashish.samant@oracle.com>
Thu, 18 Aug 2016 20:54:26 +0000 (13:54 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Sun, 30 Oct 2016 19:12:25 +0000 (12:12 -0700)
commitc4e64b0036a3f85f6fbfbe7a52846bf34bce8e6e
tree06e7a1d57cef65999c209f4f887a6f6c1d2a753a
parentfec77ca03eac282e81417196a9d64fdb992933fd
fuse: direct-io: don't dirty ITER_BVEC pages

When reading from a loop device backed by a fuse file it deadlocks on
lock_page().

This is because the page is already locked by the read() operation done on
the loop device.  In this case we don't want to either lock the page or
dirty it.

So do what fs/direct-io.c does: only dirty the page for ITER_IOVEC vectors.

Orabug : 22652336

Reported-by: Alexey Kodanev <alexey.kodanev@oracle.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Ashish Samant <ashish.samant@oracle.com>
Acked-by: Srinivas Eeda <srinivas.eeda@oracle.com>
fs/fuse/file.c