http://bugzilla.opensuse.org/show_bug.cgi?id=1052419 Bug ID: 1052419 Summary: nfs-kernel-server and Btrfs should not be used together Classification: openSUSE Product: openSUSE Distribution Version: Leap 42.3 Hardware: Other OS: openSUSE 42.3 Status: NEW Severity: Major Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: pg@suse.for.sabi.co.uk QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- * Btrfs does not compute checksums on write in the case of O_DIRECT IO, and does not provide "stable writes" either, because they are enabled only through the regular IO mechanism. * The 'nfs-kernel-server' does not use the regular IO mechanism either, so it has the same issues as O_DIRECT and should not be used to export Btrfs filesystems unless for read-only mode. * The 'nfs-ganesha' server is simpler and runs in user mode, and does not have these problems with Btrfs, but AFAIK it is not part of openSUSE. * Btrfs is the default installation filesystem for openSUSE, a choice that I think is very good ('bcachefs' might be soon a better choice). The overall effect is not that data will be corrupted (usually, even if the lack of "stable writes" is an issue) but that checksums will be missing on data written via 'nfs-kernel-server' and this makes the system less resilient and causes baffling warnings to appear in logs. My recommendation is to package the 'nfs-ganesha' server and use it as the default or only NFS server for openSUSE. https://btrfs.wiki.kernel.org/index.php/Gotchas#Direct_IO_including_NFS_acce... -- You are receiving this mail because: You are on the CC list for the bug.