diff options
author | Yan, Zheng <zyan@redhat.com> | 2018-03-16 11:22:29 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-08 12:12:42 +0200 |
commit | ff1c42b0c60a11dc0272ea02bcc01eafe1652964 (patch) | |
tree | 0fa5d5f12071b4d132b1f5447a28453bdbfe39d4 /ipc | |
parent | 7614f7db9bee160c5e8d298919af3f28941fc703 (diff) | |
download | linux-rt-ff1c42b0c60a11dc0272ea02bcc01eafe1652964.tar.gz |
ceph: only dirty ITER_IOVEC pages for direct read
commit 85784f9395987a422fa04263e7c0fb13da11eb5c upstream.
If a page is already locked, attempting to dirty it leads to a deadlock
in lock_page(). This is what currently happens to ITER_BVEC pages when
a dio-enabled loop device is backed by ceph:
$ losetup --direct-io /dev/loop0 /mnt/cephfs/img
$ xfs_io -c 'pread 0 4k' /dev/loop0
Follow other file systems and only dirty ITER_IOVEC pages.
Cc: stable@kernel.org
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions