diff options
author | NeilBrown <neilb@suse.de> | 2006-01-06 00:20:12 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 08:34:01 -0800 |
commit | 17999be4aa408e7ff3b9d32c735649676567a3cd (patch) | |
tree | 14f9fd4ef0299f16274ce2980baef7b96f111bea /include | |
parent | ac81b2ee45eb811fdb0aa1cfb71d468d944d00ce (diff) | |
download | op-kernel-dev-17999be4aa408e7ff3b9d32c735649676567a3cd.zip op-kernel-dev-17999be4aa408e7ff3b9d32c735649676567a3cd.tar.gz |
[PATCH] md: improve raid1 "IO Barrier" concept
raid1 needs to put up a barrier to new requests while it does resync or other
background recovery. The code for this is currently open-coded, slighty
obscure by its use of two waitqueues, and not documented.
This patch gathers all the related code into 4 functions, and includes a
comment which (hopefully) explains what is happening.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/raid/raid1.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/raid/raid1.h b/include/linux/raid/raid1.h index 292b98f..c556742 100644 --- a/include/linux/raid/raid1.h +++ b/include/linux/raid/raid1.h @@ -45,6 +45,7 @@ struct r1_private_data_s { spinlock_t resync_lock; int nr_pending; + int nr_waiting; int barrier; sector_t next_resync; int fullsync; /* set to 1 if a full sync is needed, @@ -52,8 +53,7 @@ struct r1_private_data_s { * Cleared when a sync completes. */ - wait_queue_head_t wait_idle; - wait_queue_head_t wait_resume; + wait_queue_head_t wait_barrier; struct pool_info *poolinfo; |