Hide Forgot
In a client mounted with --client-pid=-1, if marker is disabled on the server side, we can observe the following (part of strace output): getxattr(".", "trusted.glusterfs.volume-mark", "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 27) = 27 Proper behavior would be failing the syscall with ENODATA. This is pretty bad b/c then gsyncd actually starts to synchronize in the name of volume 00000000-0000-0000-0000-000000000000, instead of waiting for a proper master to come up. (The phenomenon can be clearly blamed on marker and not aggregation, as I was using a simple non-clustered volume).
tested with 3.2.3 -mounted with client-pid=-1 and marker disabled, it gives # getfattr -n trusted.glusterfs.volume-mark . .: trusted.glusterfs.volume-mark: Invalid argument getxattr(".", "trusted.glusterfs.volume-mark", 0x0, 0) = -1 EINVAL (Invalid argument) Its successful when marker is enabled. # getfattr -n trusted.glusterfs.volume-mark . # file: . trusted.glusterfs.volume-mark=0sAQBKH/x/m7dGp4IQHRSYJpV8AE5xnuAADywv