Suspend_hi mamagment during reshape

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've got a problem with suspend_hi management during check-pointing, as we discuss this a while ago.

Currently, I've corrected check-pointing in the way that mdmon sets suspend_hi to the place that sync_max is set in current pass to guard access.
This assumption looks for me ok in general, problem is when mdadm decides to set sync_max to max. mdmon cannot set max due to fact that this would block
rest of array to user. This means that mdmon should move sync_max and suspend_hi in parallel through the rest of array by some distances.
This can gives us additional opportunities to store checkpoints. I would like to know your opinion about such solution.

Second problem is about cleanup after reshape. 
>From uses space after reshape, I'm not able to set suspend_hi to 0. This is up to suspend_hi_store() checks.(suspend_lo cannot be set to 0, and suspend_hi cannot be less than suspend_lo).
I think that part of Maciek's patch should be applied to md in raid5.c, so at the end of raid5_finish_reshape() the following code should be placed:

if (mddev->external) {
	mddev->suspend_hi = 0;
	mddev->suspend_lo = 0;
	mddev->pers->quiesce(mddev, 1);
	mddev->pers->quiesce(mddev, 0);
}

The other option is accept for setting suspend_lo/hi to 0 when there is no array processing (reshape), but first change I think is better.
What is your opinion?

BR
Adam

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux