diff options
author | Brian Behlendorf <[email protected]> | 2013-07-10 14:09:08 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-07-10 14:12:21 -0700 |
commit | abc41ac7c78c6f218a226a746f5d92a41fe53285 (patch) | |
tree | b3a774969090df5024d4475171b14f03640bd8c9 /module/zfs/vdev_disk.c | |
parent | ff3510c1a562914902d78f3d56552e126103f5a4 (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.c | 2 |
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; |