There are lots of direct access to .bi_vcnt & .bi_io_vec of bio, and it isn't ready to support multipage bvecs for BTRFS, so set NO_MP for these request queues.
Signed-off-by: Ming Lei <tom.leim...@gmail.com> --- fs/btrfs/volumes.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 71a60cc01451..2e7237a3b84d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -1011,6 +1011,9 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices, if (blk_queue_discard(q)) device->can_discard = 1; + /* BTRFS isn't ready to support multipage bvecs */ + set_bit(QUEUE_FLAG_NO_MP, &q->queue_flags); + device->bdev = bdev; device->in_fs_metadata = 0; device->mode = flags; -- 2.7.4