summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2005-04-17 00:23:54 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-17 00:23:54 +0200
commitbaaa2c512dc1c47e3afeb9d558c5323c9240bd21 (patch)
treeb4a3fcd63090a3c5a5ba7e13c1c01897318eb948 /drivers/md/md.c
parent[PATCH] mmtimer build fix (diff)
downloadlinux-baaa2c512dc1c47e3afeb9d558c5323c9240bd21.tar.xz
linux-baaa2c512dc1c47e3afeb9d558c5323c9240bd21.zip
[PATCH] Avoid deadlock in sync_page_io by using GFP_NOIO
..as sync_page_io can be called on the write-out path. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 04562add1920..aa72c88a024f 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -332,7 +332,7 @@ static int bi_complete(struct bio *bio, unsigned int bytes_done, int error)
static int sync_page_io(struct block_device *bdev, sector_t sector, int size,
struct page *page, int rw)
{
- struct bio *bio = bio_alloc(GFP_KERNEL, 1);
+ struct bio *bio = bio_alloc(GFP_NOIO, 1);
struct completion event;
int ret;