On Wed, Mar 27, 2019 at 05:46:50PM +0800, Qu Wenruo wrote: > This urgent patchset can be fetched from github: > https://github.com/adam900710/btrfs-progs/tree/flush_super > Which is based on v4.20.2. > > Before this patch, btrfs-progs writes to the fs has no barrier at all. > All metadata and superblock are just buffered write, no barrier between > super blocks and metadata writes at all. > > No wonder why even clear space cache can cause serious transid > corruption to the originally good fs. > > Please merge this fix as soon as possible as I really don't want to see > btrfs-progs corrupting any fs any more.
How often does this happen in practice? I'm slightly incredulous about btrfs-progs crashing often. Especially that pwrite() is buffered on the kernel side, so we'd need a _kernel_ crash (usually a power loss) to break consistency. Obviously, a potential data loss bug is always something that needs fixing, I'm just wondering about severity. Or do I understand this wrong? Asking because Dimitri John Ledkov stepped down as Debian's maintainer of this package, and I'm taking up the mantle (with Nicholas D Steeves being around) -- modulo any updates other than important bug fixes being on hold because of Debian's freeze. Thus, I wonder if this is important enough to ask for a freeze exception. Meow! -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ Did ya know that typing "test -j8" instead of "ctest -j8" ⢿⡄⠘⠷⠚⠋⠀ will make your testsuite pass much faster, and fix bugs? ⠈⠳⣄⠀⠀⠀⠀