summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2005-04-16 15:23:54 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:23:54 -0700
commitbaaa2c512dc1c47e3afeb9d558c5323c9240bd21 (patch)
treeb4a3fcd63090a3c5a5ba7e13c1c01897318eb948
parent8d38eadb7a97f265f7b3a9e8a30df358c3a546c8 (diff)
downloadop-kernel-dev-baaa2c512dc1c47e3afeb9d558c5323c9240bd21.zip
op-kernel-dev-baaa2c512dc1c47e3afeb9d558c5323c9240bd21.tar.gz
[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>
-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 04562ad..aa72c88 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;
OpenPOWER on IntegriCloud