Storing bdev request_queue limits in xfs_buftarg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a question regarding the atomic writes work, and whether it is proper to store atomic write-related bdev request_queue limits in xfs_buftarg, as already discussed in https://lore.kernel.org/linux-xfs/6430d813-cb30-4a66-94e1-ea89bdc921da@xxxxxxxxxx/ (and also in the v2 series).

I can't get a conclusion, so I am sending a separate mail.

A suggestion is to store atomic_write_unit_{min, max} in xfs_buftarg, like we do for bdev logical block size. But the concern is "geometry of the device can change underneath", see https://lore.kernel.org/linux-xfs/20231003161029.GG21298@frogsfrogsfrogs/#t (so do not do it).

We only need those limits in XFS for statx reporting of atomic_write_unit_{min, max}, as in that series the block layer will reject out-of-limit atomic writes.

If those limits did change after mount, then the worst that happens is that we report incorrect atomic_write_unit_{min, max} values and the user may have IOs rejected unexpectedly.

I assume that we would not normally consider adding other bdev request_queue limits to xfs_buftarg, and we rely on the block layer to handle all sizes of BIOs submitted.

Please advise.

John




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux