On 01/29/2018 10:08 PM, Mike Snitzer wrote: > 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). > Uh-oh. Device rescan. Would be a valid topic on its own... > 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 -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +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)