Still hacking away at reflink
Added 2019-08-07 15:03:34 +0000 UTCIt's pretty close to done, but working through the last of the xfstests failures has been tedious.
But - I just pushed out a punch of prep work patches, and something else cool is now done - we're exporting the actual filesystem blocksize to the Linux VFS, instead of pretending the filesystem blocksize is actually PAGE_SIZE. This was needed to get one of the reflink tests in xfstests to pass, but it was also the biggest blocker for supporting variable size pages (i.e. compound pages) in the page cache.
That, in turn, is going to be a _huge_ boost to buffered IO performance when it happens. Right now, the page cache stores everything in 4k pages - and the overhead of walking the page cache, looking up a page and locking it for every 4k of data is why for a lot of applications buffered IO is significantly slower than direct IO in Linux right now.
Compound pages in the page cache is still a ways off, but we're that much closer now!
Comments
What did you think of the recent upstreaming attempt? Better/worse than expected? Anything specific that needs a fix?
2019-08-08 10:55:13 +0000 UTCFantastic news! Could you share which xfs tests are failing? Are there any more sections beyond reflink to become compliant with, or is this the last of it?
Lurf Jurv
2019-08-08 01:00:39 +0000 UTC