Bug 764896 (GLUSTER-3164)

Summary: set xattr keys while entry creation
Product: [Community] GlusterFS Reporter: Amar Tumballi <amarts>
Component: posixAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: mainlineCC: gluster-bugs, vbhat, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Anand Avati 2011-07-13 03:16:58 UTC
PATCH: http://patches.gluster.com/patch/7873 in release-3.2 (storage/posix: set all keys present in 'params' dict while creating an entry)

Comment 1 Anand Avati 2011-07-13 03:34:22 UTC
PATCH: http://patches.gluster.com/patch/7874 in master (storage/posix: set all keys present in 'params' dict while creating an entry)

Comment 2 Amar Tumballi 2011-07-13 05:27:16 UTC
The new change bought in for bypassing acl check for setxattr() which used to follow entry creation in few cluster translators by passing those keys with the entry creation API itself is not working because in posix layer we are not handling this.

Comment 3 M S Vishwanath Bhat 2011-07-14 10:23:29 UTC
It is fixed now... I created two files in a 2 node dht set-up and made sure that each of them are in different subvolume. Now when I did mv of one file to other, and did getfattr on the backend of dest file, I get "linkto" extended attributes set to other subvolume.

root@tortuga:/mnt# ls
file1  file2  file3  file4
root@tortuga:/mnt# ls /tmp/brick*
/tmp/brick1:
file3  file4

/tmp/brick2:
file1  file2
root@tortuga:/mnt# mv file1 file3 
root@tortuga:/mnt# ls /tmp/brick*
/tmp/brick1:
file3  file4

/tmp/brick2:
file2  file3
root@tortuga:/mnt# getfattr -d -m trusted /tmp/brick1/file3 
getfattr: Removing leading '/' from absolute path names
# file: tmp/brick1/file3
trusted.gfid=0sj5duIpP5RUmsZqhB4591uw==
trusted.glusterfs.dht.linkto="hosdu-client-1