Bug 764413 (GLUSTER-2681)

Summary: marker returns dummy data for volume-mark attribute if xtime is switched off
Product: [Community] GlusterFS Reporter: Csaba Henk <csaba>
Component: geo-replicationAssignee: Junaid <junaid>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: mainlineCC: gluster-bugs, lakshmipathi, vagarwal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: 3.2.3 Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Csaba Henk 2011-04-06 17:12:31 UTC
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).

Comment 1 Lakshmipathi G 2011-09-15 08:48:27 UTC
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