So if youUgh. Why does SCSI requires a special command for this?
have a 4K PBS and 512B LBS, then WRITE_ATOMIC_16 would be required to write
16KB atomically.
Now we know what would be needed to bump the physical block size, it is
certainly a different feature, however I think it would be good to
evaluate that world too. For NVMe we don't have such special write
requirements.
I put together this kludge with the last patches series of LBS + the
bdev cache aops stuff (which as I said before needs an alternative
solution) and just the scsi atomics topology + physical block size
change to easily experiment to see what would break:
https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/log/?h=20240408-lbs-scsi-kludge
Using a larger sector size works but it does not use the special scsi
atomic write.
I'd be happy to help review too.Maybe, I would need to check further.To me, O_ATOMIC would be required for buffered atomic writes IO, as we wantWould using the same min and max order for the inode work instead?
a fixed-sized IO, so that would mean no mixing of atomic and non-atomic IO.