summaryrefslogtreecommitdiffstats
path: root/module/zfs/vdev_disk.c
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2013-07-10 14:09:08 -0700
committerBrian Behlendorf <[email protected]>2013-07-10 14:12:21 -0700
commitabc41ac7c78c6f218a226a746f5d92a41fe53285 (patch)
treeb3a774969090df5024d4475171b14f03640bd8c9 /module/zfs/vdev_disk.c
parentff3510c1a562914902d78f3d56552e126103f5a4 (diff)
Use GFP_NOIO in vdev_disk_io_flush()
To avoid a potential deadlock when using a zvol as a swap device prevent vdev_disk_io_flush() from performing IO during the bio_alloc(). Signed-off-by: Brian Behlendorf <[email protected]> Closes #1508
Diffstat (limited to 'module/zfs/vdev_disk.c')
-rw-r--r--module/zfs/vdev_disk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c
index 31d1a28bd..286971615 100644
--- a/module/zfs/vdev_disk.c
+++ b/module/zfs/vdev_disk.c
@@ -632,7 +632,7 @@ vdev_disk_io_flush(struct block_device *bdev, zio_t *zio)
if (!q)
return ENXIO;
- bio = bio_alloc(GFP_KERNEL, 0);
+ bio = bio_alloc(GFP_NOIO, 0);
if (!bio)
return ENOMEM;