Re: [LSF/MM/BPF TOPIC] File system checksum offload

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

 





在 2025/2/3 19:00, hch@xxxxxxxxxxxxx 写道:
On Mon, Feb 03, 2025 at 08:26:33AM +0000, Matthew Wilcox wrote:
so this is a block layer issue if it's not set.

And even if the flag is set direct I/O ignores it.  So while passing
through such a flag through virtio might be useful we need to eventually
sort out the fact that direct I/O doesn't respect it.

The example I mentioned is just an easy-to-reproduce example, there are even worse cases, like multi-thread workload where one is doing direct IO, the other one is modifying the buffer.

So passing AS_STABLE_WRITES is only a solution for the specific case I mentioned, not a generic solution at all.

But I would still appreciate any movement to expose that flag to virtio-blk.


Locking up any thread touching memory under direct I/O might be quite
heavy handed, so this means bounce buffering on page fault.  We had
plenty of discussion of this before, but I don't think anyone actually
looked into implementing it.


Thus my current plan to fix it is to make btrfs to skip csum for direct IO.
This will make btrfs to align with EXT4/XFS behavior, without the complex AS_STABLE_FLAGS passing (and there is no way for user space to probe that flag IIRC).

But that will break the current per-inode level NODATASUM setting, and will cause some incompatibility (a new incompat flag needed, extra handling if no data csum found, extra fsck support etc).

Thanks,
Qu




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux