Messages in this thread | | | From | David Howells <> | Subject | Re: [RFC][PATCH 00/25] Network fs helper library & fscache kiocb API | Date | Thu, 21 Jan 2021 20:08:24 +0000 |
| |
J. Bruce Fields <bfields@fieldses.org> wrote:
> > J. Bruce Fields <bfields@fieldses.org> 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
| |