block, dm: restack queue_limits
Subsystems (3)
We currently don't restack the queue_limits if the lowest, or intermediate, layer of an IO stack changes.
This is particularly unfortunate in the case of FLUSH/FUA which may change if/when a HW controller's BBU fails; whereby requiring the device advertise that it has a volatile write cache (WCE=1).
But in the context of DM, really it'd be best if the entire stack of devices had their limits restacked if any underlying layer's limits change.
In the past, Martin and I discussed that we should "just do it" but never did. Not sure we need a lengthy discussion but figured I'd put it out there.
Maybe I'll find time, between now and April, to try implementing it.
Thanks,
Mike
Quoted 7 lines · Mike Snitzer
We currently don't restack the
queue_limitsif the lowest, or intermediate, layer of an IO stack changes.This is particularly unfortunate in the case of FLUSH/FUA which may change if/when a HW controller's BBU fails; whereby requiring the device advertise that it has a volatile write cache (WCE=1).
Uh-oh. Device rescan.
Would be a valid topic on its own...
Quoted 10 lines
But in the context of DM, really it'd be best if the entire stack of devices had their limits restacked if any underlying layer's limits change.
In the past, Martin and I discussed that we should "just do it" but never did. Not sure we need a lengthy discussion but figured I'd put it out there.
Maybe I'll find time, between now and April, to try implementing it.
For SCSI the device capabilities are pretty much set in stone after the initial scan; there are hooks for rescanning, but they will only work half of the time.
Plus we can't really change the device type on the fly (eg if the SCSI device type changes; if it moves away from '0' we would need to unbind the sd driver, and if it moves to '0' we'll need to rescan the sd device. None of this is happening right now.)
So I'd be glad to have a discussion around this.
Cheers,
Hannes
Signature · 5 lines
Dr. Hannes Reinecke Teamlead Storage & Networking [email protected] +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)
Quoted 29 lines · Hannes Reinecke
Quoted 7 lines · Mike Snitzer
We currently don't restack the
queue_limitsif the lowest, or intermediate, layer of an IO stack changes.This is particularly unfortunate in the case of FLUSH/FUA which may change if/when a HW controller's BBU fails; whereby requiring the device advertise that it has a volatile write cache (WCE=1).
Uh-oh. Device rescan.
Would be a valid topic on its own...Quoted 10 lines
But in the context of DM, really it'd be best if the entire stack of devices had their limits restacked if any underlying layer's limits change.
In the past, Martin and I discussed that we should "just do it" but never did. Not sure we need a lengthy discussion but figured I'd put it out there.
Maybe I'll find time, between now and April, to try implementing it.
For SCSI the device capabilities are pretty much set in stone after the initial scan; there are hooks for rescanning, but they will only work half of the time.
Plus we can't really change the device type on the fly (eg if the SCSI device type changes; if it moves away from '0' we would need to unbind the sd driver, and if it moves to '0' we'll need to rescan the sd device. None of this is happening right now.)
Quoted 1 line
So I'd be glad to have a discussion around this.
At least array vendor has also desired the ability to change various attributes of the device after the initial scan, such as the model name. Not sure what would break if we did this, since who knows what userspace software might be caching this info, but...
-Ewan
Quoted 7 lines · Mike Snitzer
We currently don't restack the
queue_limitsif the lowest, or intermediate, layer of an IO stack changes.This is particularly unfortunate in the case of FLUSH/FUA which may change if/when a HW controller's BBU fails; whereby requiring the device advertise that it has a volatile write cache (WCE=1).
Quoted 7 lines
But in the context of DM, really it'd be best if the entire stack of devices had their limits restacked if any underlying layer's limits change.
In the past, Martin and I discussed that we should "just do it" but never did. Not sure we need a lengthy discussion but figured I'd put it out there.
So much "yes"!!
Just a notifier chain would probably do.
I would like the notification to support changing the size of the device too.
I see this as being two-stage.
1/ I'm going to change the device size to X - are you all OK with that? 2/ Device size is now X.
That allows md and dm to check that filesystems aren't going to get mad when devices are made smaller, and can adjust (if they want to) when devices get bigger.
Thanks,
NeilBrown
Quoted 10 lines
Maybe I'll find time, between now and April, to try implementing it.
Thanks,
Mike--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel