On Thu, 15 May 2025 at 04:06, Darrick J. Wong <djw...@kernel.org> wrote:
> Yeah, it's confusing. The design doc tries to clarify this, but this is > roughly what we need for fuse: > > FUSE_IOMAP_OP_WRITE being set means we're writing to the file. > FUSE_IOMAP_OP_ZERO being set means we're zeroing the file. > Neither of those being set means we're reading the file. > > (3 different operations) Okay, I get why these need to be distinct cases. Am I right that the only read is sanely cacheable? > FUSE_IOMAP_OP_DIRECT being set means directio, and it not being set > means pagecache. > > (and one flag, for 6 different types of IO) Why does this make a difference? Okay, maybe I can imagine difference allocation strategies. Which means that it only matters for the write case? > FUSE_IOMAP_OP_REPORT is set all by itself for things like FIEMAP and > SEEK_DATA/HOLE. Which should again always be the same as the read case, no? Thanks, Miklos