diff options
author | Neil Brown <neilb@cse.unsw.edu.au> | 2005-04-16 18:23:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:23:54 -0400 |
commit | baaa2c512dc1c47e3afeb9d558c5323c9240bd21 (patch) | |
tree | b4a3fcd63090a3c5a5ba7e13c1c01897318eb948 /drivers/md/md.c | |
parent | 8d38eadb7a97f265f7b3a9e8a30df358c3a546c8 (diff) |
[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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 04562add192..aa72c88a024 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) | |||
332 | static int sync_page_io(struct block_device *bdev, sector_t sector, int size, | 332 | static int sync_page_io(struct block_device *bdev, sector_t sector, int size, |
333 | struct page *page, int rw) | 333 | struct page *page, int rw) |
334 | { | 334 | { |
335 | struct bio *bio = bio_alloc(GFP_KERNEL, 1); | 335 | struct bio *bio = bio_alloc(GFP_NOIO, 1); |
336 | struct completion event; | 336 | struct completion event; |
337 | int ret; | 337 | int ret; |
338 | 338 | ||