Check for write-behind translator on glusterfs to avoid data corruption
GlusterFS by default enables the write-behind translator on gluster. The write behind translator on GlusterFS returns a success on write even as the data is flushed to the backing gluster volume in the background. This is a potential data corruption issue which is demonstrated by the smbtorture test smb2.rw.rw1.
More information about the bug is available in the bz https://bugzilla.samba.org/show_bug.cgi?id=14486
At the moment, we cannot disable the write-behind translator programatically from vfs_glusterfs and it is a manual process. We are working with GlusterFS engineering to provide an interface with which this translator can be automatically disabled in the vfs_gluster plugin. Even when this does go in, it will still not be available to users who run older versions of GlusterFS.
A warning on the data corruption caused by the translator is therefore added to the man page.
Checklist
-
Commits have Signed-off-by:
with name/author being identical to the commit author -
(optional) This MR is just one part towards a larger feature. -
(optional, if backport required) Bugzilla bug filed and BUG:
tag added -
Test suite updated with functionality tests -
Test suite updated with negative tests -
Documentation updated -
CI timeout is 3h or higher (see Settings/CICD/General pipelines/ Timeout)
Reviewer's checklist:
-
There is a test suite reasonably covering new functionality or modifications -
Function naming, parameters, return values, types, etc., are consistent and according to README.Coding.md
-
This feature/change has adequate documentation added -
No obvious mistakes in the code