On Wed, Aug 14, 2024 at 06:25:39PM +0100, John Garry wrote: > On 14/08/2024 15:52, Martin K. Petersen wrote: >> >> Keith, >> >>> Your change looks fine, though it sounds odd that md raid is changing >>> queue_limit values outside the limits_lock. The stacking limits should >>> have set the md device to 0 if one of the member drives doesn't >>> support write_zeroes, right? >> > > And even if we had used the limits lock to synchronize the update, that > only synchronizes writers but not readers (of the limits). Readers are blocked by freezing the queues (for most drivers) or doing the internal mddev suspend for md. So I suspect kicking off a workqueue to do the limits update will be the right thing going ahead. For now we'll just need to hack around by doing single reads of the field.