[Linux-cachefs] Problems doing DIO to netfs cache on XFS from Ceph

David Howells dhowells at redhat.com
Thu Dec 3 16:04:09 UTC 2020


Matthew Wilcox <willy at infradead.org> wrote:

> > Note that I'm only doing async DIO reads and writes, so I was a bit surprised
> > that XFS is doing a writeback at all - but I guess that IOCB_DIRECT is
> > actually just a hint and the filesystem can turn it into buffered I/O if it
> > wants.
> 
> That's almost the exact opposite of what is going on.  XFS sees that
> you're going to do an O_DIRECT read, so it writes back the dirty memory
> that's currently in the page cache so that your read doesn't read stale
> data from disk.

In this trace, yes, that's true - but where did the dirty memory in the
pagecache come from?  I'm only doing DIO reads and DIO writes - oh, and as it
turns out, fallocate(FALLOC_FL_ZERO_RANGE) - which, I think, may be the source
of the dirty data.

David




More information about the Linux-cachefs mailing list