On 4/18/24 09:03, Christoph Hellwig wrote:
On Thu, Apr 18, 2024 at 09:00:15AM +0200, Hannes Reinecke wrote:
max_sectors can be modified via sysfs, but only in kb units.
Yes.
Which leads to a misalignment on stacked devices if the original
max_sector size is an odd number.
How?
That's an issue we've been seeing during testing:
https://lore.kernel.org/dm-devel/7742003e19b5a49398067dc0c59dfa8ddeffc3d7.camel@xxxxxxxx/
While this can be fixed in userspace (Martin Wilck provided a patchset
to multipath-tools), what I find irritating is that we will always
display the max_sectors setting in kb, even if the actual value is not
kb aligned.
_And_ we allow to modify that value (again in kb units). Which means
that we _never_ are able to reset it to its original value.
I would vastly prefer to have the actual values displayed in sysfs,
ie either have a max_sectors_kb value for the block limits or have an
max_sectors setting in sysfs, but we really should avoid this 'shift by
1' when displaying the value.
Note that we really should not stack max_sectors anyway, as it's only
used for splitting in the lower device to start with.
If that's the case, why don't we inhibit the modification for
max_sectors on the lower devices?
Cheers,
Hannes