[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240520201237.GA6235@lst.de>
Date: Mon, 20 May 2024 22:12:37 +0200
From: Christoph Hellwig <hch@....de>
To: Mike Snitzer <snitzer@...nel.org>
Cc: Christoph Hellwig <hch@....de>, Theodore Ts'o <tytso@....edu>,
dm-devel@...ts.linux.dev, fstests@...r.kernel.org,
linux-ext4@...r.kernel.org, regressions@...ts.linux.dev,
linux-block@...r.kernel.org
Subject: Re: dm: use queue_limits_set
On Mon, May 20, 2024 at 01:17:46PM -0400, Mike Snitzer wrote:
> Doubt there was anything in fstests setting max discard user limit
> (max_user_discard_sectors) in Ted's case. blk_set_stacking_limits()
> sets max_user_discard_sectors to UINT_MAX, so given the use of
> min(lim->max_hw_discard_sectors, lim->max_user_discard_sectors) I
> suspect blk_stack_limits() stacks up max_discard_sectors to match the
> underlying storage's max_hw_discard_sectors.
>
> And max_hw_discard_sectors exceeds BIO_PRISON_MAX_RANGE, resulting in
> dm_cell_key_has_valid_range() triggering on:
> WARN_ON_ONCE(key->block_end - key->block_begin > BIO_PRISON_MAX_RANGE)
Oh, that makes more sense.
I think you just want to set the max_hw_discard_sectors limit before
stacking in the lower device limits so that they can only lower it.
(and in the long run we should just stop stacking the limits except
for request based dm which really needs it)
Powered by blists - more mailing lists