25.10.2019 12:47, Chris Murphy пишет: > I see references to root and chunk trees, but not the log tree. > > If boot related files: kernel, initramfs, bootloader configuration > files, are stored on Btrfs; and if they are changed in such a way as > to rely on the log tree; and then there's a crash; what's the worse > case scenario effect? > > At first glance, if the bootloader doesn't support log tree, it would > have a stale view of the file system. Yes, happened to me several times on ext4. > Since log tree writes means a > full file system update hasn't happened, the old file system state > hasn't been dereferenced, so even in an SSD + discard case, the system > should still be bootable. And at that point Btrfs kernel code does log > replay, and catches the system up, and the next update will boot the > new state. > > Correct? > Yes. If we speak about grub here, it actually tries very hard to ensure writes has hit disk (it fsyncs files as it writes them and it flushes raw devices). But I guess that fsync on btrfs just goes into log and does not force transaction. Is it possible to force transaction on btrfs from user space?
