linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] md - 2 of 3 - Make MD device-is-idle test check whole device, not partition.
@ 2003-01-06  0:42 NeilBrown
  0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2003-01-06  0:42 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-raid


### Comments for ChangeSet

when resyncing an array, md will back off if it detects other
activity on the device.  This used to be based on the whole
device, not the partition, but recent changes made it only
check IO on the partition.

This patch causes all sync_io accounting to be done on the
whole device (bdev->bd_contains).


 ----------- Diffstat output ------------
 ./drivers/md/md.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff ./drivers/md/md.c~current~ ./drivers/md/md.c
--- ./drivers/md/md.c~current~	2003-01-06 11:11:06.000000000 +1100
+++ ./drivers/md/md.c	2003-01-06 11:11:39.000000000 +1100
@@ -2742,7 +2742,7 @@ int unregister_md_personality(int pnum)
 
 void md_sync_acct(mdk_rdev_t *rdev, unsigned long nr_sectors)
 {
-	rdev->bdev->bd_disk->sync_io += nr_sectors;
+	rdev->bdev->bd_contains->bd_disk->sync_io += nr_sectors;
 }
 
 static int is_mddev_idle(mddev_t *mddev)
@@ -2754,7 +2754,7 @@ static int is_mddev_idle(mddev_t *mddev)
 
 	idle = 1;
 	ITERATE_RDEV(mddev,rdev,tmp) {
-		struct gendisk *disk = rdev->bdev->bd_disk;
+		struct gendisk *disk = rdev->bdev->bd_contains->bd_disk;
 		curr_events = disk->read_sectors + disk->write_sectors - disk->sync_io;
 		if ((curr_events - rdev->last_events) > 32) {
 			rdev->last_events = curr_events;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] md - 2 of 3 - Make MD device-is-idle test check whole device, not partition.
@ 2003-01-06  0:54 NeilBrown
  0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2003-01-06  0:54 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-raid


### Comments for ChangeSet

when resyncing an array, md will back off if it detects other
activity on the device.  This used to be based on the whole
device, not the partition, but recent changes made it only
check IO on the partition.

This patch causes all sync_io accounting to be done on the
whole device (bdev->bd_contains).


 ----------- Diffstat output ------------
 ./drivers/md/md.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff ./drivers/md/md.c~current~ ./drivers/md/md.c
--- ./drivers/md/md.c~current~	2003-01-06 11:11:06.000000000 +1100
+++ ./drivers/md/md.c	2003-01-06 11:11:39.000000000 +1100
@@ -2742,7 +2742,7 @@ int unregister_md_personality(int pnum)
 
 void md_sync_acct(mdk_rdev_t *rdev, unsigned long nr_sectors)
 {
-	rdev->bdev->bd_disk->sync_io += nr_sectors;
+	rdev->bdev->bd_contains->bd_disk->sync_io += nr_sectors;
 }
 
 static int is_mddev_idle(mddev_t *mddev)
@@ -2754,7 +2754,7 @@ static int is_mddev_idle(mddev_t *mddev)
 
 	idle = 1;
 	ITERATE_RDEV(mddev,rdev,tmp) {
-		struct gendisk *disk = rdev->bdev->bd_disk;
+		struct gendisk *disk = rdev->bdev->bd_contains->bd_disk;
 		curr_events = disk->read_sectors + disk->write_sectors - disk->sync_io;
 		if ((curr_events - rdev->last_events) > 32) {
 			rdev->last_events = curr_events;

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-01-06  0:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-06  0:54 [PATCH] md - 2 of 3 - Make MD device-is-idle test check whole device, not partition NeilBrown
  -- strict thread matches above, loose matches on Subject: below --
2003-01-06  0:42 NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).