On Mon, Jan 22, 2024 at 07:38:57PM +0100, Christoph Hellwig wrote: > On Mon, Jan 22, 2024 at 11:27:15AM -0700, Keith Busch wrote: > > > + q->limits.max_user_discard_sectors = max_discard_bytes >> SECTOR_SHIFT; > > > + q->limits.max_discard_sectors = > > > + min_not_zero(q->limits.max_hw_discard_sectors, > > > + q->limits.max_user_discard_sectors); > > > > Shouldn't writing 0 disable discards? > > I mirror the max_user_sectors behavior here, where 0 disables the > user limiting. But yes, that would be a behavior change. But a user should be able to disable discards, right? Unless you really want to match max_user_sectors, I think you could default the user setting here to UINT_MAX and use "min" instead of "min_not_zero".