Bug 761923 (GLUSTER-191)

Summary: random Permission denied errors
Product: [Community] GlusterFS Reporter: Anand Avati <aavati>
Component: distributeAssignee: Anand Avati <aavati>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 2.0.4CC: chrisw, gluster-bugs
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: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Anand Avati 2009-08-04 21:07:18 UTC
PATCH: http://patches.gluster.com/patch/864 in master (dht_stat_merge - use the highest uid when ambiguous)

Comment 1 Anand Avati 2009-08-04 21:07:25 UTC
PATCH: http://patches.gluster.com/patch/863 in release-2.0 (dht_stat_merge - use the highest uid when ambiguous)

Comment 2 Anand Avati 2009-08-04 23:27:55 UTC
It was observed in samba logs that stat() and statfs() calls on files in glusterfs would randmoly return EACCESS (Permission denied). After debugging further it was found that the ownership of certain directories were returned differently, resulting in the VFS returning EACCESS. The actual reason is the way distribute's directory self-heal creates missing directories on newly added nodes. The modes are created properly but the directory is owned by root/root. Depending on the order in which attributes are unwound in lookup_dir_cbk, the last call of dht_stat_merge decides the final uid/gid of the directory. This could end up being the directory from the newly added node having uid/gid as root/root.