Re: [PATCH v3 15/15] nvme: Ensure atomic writes will be executed atomically

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

 



On 29/01/2024 06:20, Christoph Hellwig wrote:
On Thu, Jan 25, 2024 at 11:28:22AM +0000, John Garry wrote:
We have limits checks in XFS iomap and fops.c, but we would also want to
ensure that the the block layer is not doing anything it shouldn't be doing
after submit_bio_noacct(), like merging atomic write BIOs which straddle a
boundary or exceed atomic_max (if there were any merging).

The SCSI standard already has provision for error'ing an atomic write
command which exceeds the target atomic write capabilities, while NVMe
doesn't.

Can you get Oracle to propose this for NVMe?  It always helps if these
suggestions come from a large buyer of NVMe equipment.

I'll let Martin comment on that.


BTW, Christoph did mention that he would like to see this:
https://lore.kernel.org/linux-nvme/20231109153603.GA2188@xxxxxx/

I can probably live with a sufficiently low-level block layer check.

That would probably be in blk_mq_dispatch_rq_list() for block drivers with .queue_rq set, but I would need to check for a good place for ->queue_rqs . I can't imagine that we just want to inefficiently iter all rqs at the ->queue_rqs call point.

However considering the nature of this change, it is not a good sign that we/I need to check... I'd be more inclined to leave as is.

Thanks,
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