| Summary: | marker returns dummy data for volume-mark attribute if xtime is switched off | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Csaba Henk <csaba> |
| Component: | geo-replication | Assignee: | Junaid <junaid> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | mainline | CC: | 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: | |
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
|
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).