summaryrefslogtreecommitdiff
path: root/include/linux/raid
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2002-05-17 22:03:08 -0700
committerChristoph Hellwig <hch@sb.bsdonline.org>2002-05-17 22:03:08 -0700
commitbd415ca2e54b2b305aa4b3a9bec2bf67c3bedcbf (patch)
tree05af3721ba2c531a2516d25cfb41c6383fe80c6e /include/linux/raid
parentb51682c0e5057003cef712d5accd4cf76613bd90 (diff)
[PATCH] Change MD Superblock IO to go straight to submit_bio
The current code hits the page cache for the block device which requires memory allocation which can sometimes cause a deadlock (if it blocks the raid5d thread). This code takes the page that holds the superblock, and passes it to submit_bh in a suitable bio wrapper.
Diffstat (limited to 'include/linux/raid')
-rw-r--r--include/linux/raid/md_k.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 997d45fa7be7..62024cab73f2 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -169,8 +169,9 @@ struct mdk_rdev_s
struct block_device *bdev; /* block device handle */
- mdp_super_t *sb;
- unsigned long sb_offset;
+ struct page *sb_page;
+ mdp_super_t *sb;
+ unsigned long sb_offset;
int alias_device; /* device alias to the same disk */
int faulty; /* if faulty do not issue IO requests */