J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > > > > > Fixing this requires a much bigger overhaul of cachefiles than this patchset > > > > performs. > > > > > > That sounds like "sometimes you may get file corruption and there's > > > nothing you can do about it". But I know people actually use fscache, > > > so it must be reliable at least for some use cases. > > > > Yes. That's true for the upstream code because that uses bmap. > > Sorry, when you say "that's true", what part are you referring to? Sometimes, theoretically, you may get file corruption due to this. > > I'm switching > > to use SEEK_HOLE/SEEK_DATA to get rid of the bmap usage, but it doesn't change > > the issue. > > > > > Is it that those "bridging" blocks only show up in certain corner cases > > > that users can arrange to avoid? Or that it's OK as long as you use > > > certain specific file systems whose behavior goes beyond what's > > > technically required by the bamp or seek interfaces? > > > > That's a question for the xfs, ext4 and btrfs maintainers, and may vary > > between kernel versions and fsck or filesystem packing utility versions. > > So, I'm still confused: there must be some case where we know fscache > actually works reliably and doesn't corrupt your data, right? Using ext2/3, for example. I don't know under what circumstances xfs, ext4 and btrfs might insert/remove blocks of zeros, but I'm told it can happen. David