]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
[DO NOT MERGE] ceph: switch DIO code to use iov_iter_get_pages_alloc historic/wip-jlayton-iov-iter
authorJeff Layton <jlayton@redhat.com>
Wed, 25 Jan 2017 12:24:23 +0000 (07:24 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 3 May 2018 15:56:39 +0000 (17:56 +0200)
commite54210e4e83201be2d64f97aa8c27b1bd2899dab
tree068b64a87ec76c4d56d999b46546f2ae8ddbf4aa
parent835347f00ba1f11f7022b8168c42cc54a87f049d
[DO NOT MERGE] ceph: switch DIO code to use iov_iter_get_pages_alloc

xfstest generic/095 triggers soft lockups in kcephfs. It uses fio to
drive some I/O via vmsplice ane splice. Ceph then ends up trying to
access an ITER_BVEC type iov_iter as a ITER_IOVEC one. That causes it to
pick up a wrong offset and get stuck in an infinite loop while trying to
populate the page array. dio_get_pagev_size has a similar problem.

Now that iov_iter_get_pages_alloc doesn't stop after the first vector in
the array, we can just call it instead and dump the old code that tried
to do the same thing.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
fs/ceph/file.c