Bug 1138386
Summary: | directory ownership says root as owner ship when the directories are created in parallel on two different mounts | |||
---|---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Pranith Kumar K <pkarampu> | |
Component: | unclassified | Assignee: | Pranith Kumar K <pkarampu> | |
Status: | CLOSED EOL | QA Contact: | ||
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 3.5.3 | CC: | bugs, pauyeung, waldon-redhat | |
Target Milestone: | --- | |||
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1196033 (view as bug list) | Environment: | ||
Last Closed: | 2016-06-17 16:24:39 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1196033 |
Description
Pranith Kumar K
2014-09-04 17:14:53 UTC
I am able to reproduce the bug consistently. Disabling stat-prefetch reduced the number of times the errors come but it hasn't eliminated the issue. Following the strace output was interesting. The problem always seems to be because the uid is not matching: stat("/mnt/fuse1/test-target/test1409848960.3", {st_dev=makedev(0, 41), st_ino=12165775161408537538, st_mode=S_IFDIR|0550, st_nlink=2, *st_uid=0*, st_gid=9999, st_blksize=131072, st_blocks=1, st_size=6, st_atime=2014/09/04-22:12:40, st_mtime=2014/09/04-22:12:40, st_ctime=2014/09/04-22:12:40}) = 0 uid is coming as 0 and gid is 9999. If we do a stat after the run is over it is showing things correctly. The issue is not happening on plain distribute or replicate with no distribute in the graph on my tests. Not sure why it is only happening with dht+afr. Will update the bug once I find more. RCA for the bug: Mount-1: Creates a new directory uid:gid is 0:0 Mount-2: Tries to create a new directory fails with EEXIST Mount-2: Does chown with uid as 9999 uid:gid at the end is 9999:0 Mount-1: Needs to set dht layout so triggers self-heal as part of that it sets the uid:gid back to 0:0 mount-2: Does chown with gid as 9999 uid:gid at the end is 0:9999 mount-2: Gets uid:gid and gets 0:9999 instead of 9999:9999 mount-1: Does chown with uid as 9999 uid:gid at the end is 9999:9999 mount-1: Does chown with gid as 9999 uid:gid at the end is 9999:9999 I am not sure what exactly needs to be fixed in dht. (In reply to Pranith Kumar K from comment #3) > RCA for the bug: > Mount-1: Creates a new directory uid:gid is 0:0 Mount-2: Tries to create the same directory above and fails with EEXIST All the following operations happen on this same directory from here on > Mount-2: Does chown with uid as 9999 uid:gid at the end is 9999:0 > Mount-1: Needs to set dht layout so triggers self-heal as part of that it > sets the uid:gid back to 0:0 > mount-2: Does chown with gid as 9999 uid:gid at the end is 0:9999 > mount-2: Gets uid:gid and gets 0:9999 instead of 9999:9999 > mount-1: Does chown with uid as 9999 uid:gid at the end is 9999:9999 > mount-1: Does chown with gid as 9999 uid:gid at the end is 9999:9999 > > I am not sure what exactly needs to be fixed in dht. REVIEW: http://review.gluster.org/10306 (dht: fix racy setattr(chown) behavior) posted (#1) for review on master by Jeff Darcy (jdarcy) This bug is getting closed because the 3.5 is marked End-Of-Life. There will be no further updates to this version. Please open a new bug against a version that still receives bugfixes if you are still facing this issue in a more current release. |