Hide Forgot
Created attachment 558278 [details] TestCase execution logs from automation framework Steps to Reproduce: 1.Add a directory (<testdir>) with files and sub-dirs to brick1 from backend. 2.Create a replicate volume with brick1 and brick2 3.Start the volume 4.Mount to volume from the client (nfs mount) 5.execute find <testdir> from the mount point Actual results: The sub-dirs and files are not self-healed on brick2. The sub-directories and files are not listed from the mount point. Expected results: 1.The dirs and files has to be self-healed. 2.md5sum of brick1, brick2 should match 3.The files and sub directories has to be listed from the mount point. Additional info: The same test passes on glusterfs mount. NFS Mount:- --------- [01/30/12 - 00:07:13 root@SERVER1 ~]# getfattr -R -n "trusted.gfid" -e hex /export/testdir1/ getfattr: Removing leading '/' from absolute path names # file: export/testdir1/ trusted.gfid=0xc3a73072908940d8889a2b25dd60be95 /export/testdir1//d1: trusted.gfid: No such attribute /export/testdir1//d1/f1: trusted.gfid: No such attribute /export/testdir1//d1/f2: trusted.gfid: No such attribute /export/testdir1//d2: trusted.gfid: No such attribute /export/testdir1//d2/f1: trusted.gfid: No such attribute /export/testdir1//d2/f2: trusted.gfid: No such attribute /export/testdir1//f1: trusted.gfid: No such attribute [01/30/12 - 00:07:10 root@SERVER2 ~]# getfattr -R -n "trusted.gfid" -e hex /export/testdir1/ getfattr: Removing leading '/' from absolute path names # file: export/testdir1/ trusted.gfid=0xc3a73072908940d8889a2b25dd60be95 GlusterFS Mount:- ---------------- [01/30/12 - 00:09:37 root@SERVER1 /]# getfattr -R -n "trusted.gfid" -e hex /export/testdir1/ getfattr: Removing leading '/' from absolute path names # file: export/testdir1/ trusted.gfid=0x70c8c6157d1243d38eb35d387e3e510a # file: export/testdir1//d1 trusted.gfid=0xbfe54a1ad2654711b4c3fb15a4759e36 # file: export/testdir1//d1/f1 trusted.gfid=0x682bc9b0629844e58495dff9b0b48917 # file: export/testdir1//d1/f2 trusted.gfid=0x850840048c584e91bb45d32e68ae012d # file: export/testdir1//d2 trusted.gfid=0xe3bf670a717f497b88c286e5d16a9668 # file: export/testdir1//d2/f1 trusted.gfid=0x868e864879d24ee1a6b2e6c0f16f0196 # file: export/testdir1//d2/f2 trusted.gfid=0xf08ea4f4ad5e41d6a58ba42f9e562a9f # file: export/testdir1//f1 trusted.gfid=0xbbefd0363fd54ae28d9e29fd3ef94de9 [01/30/12 - 00:07:52 root@SERVER2 ~]# getfattr -R -n "trusted.gfid" -e hex /export/testdir1/ getfattr: Removing leading '/' from absolute path names # file: export/testdir1/ trusted.gfid=0x70c8c6157d1243d38eb35d387e3e510a # file: export/testdir1//d1 trusted.gfid=0xbfe54a1ad2654711b4c3fb15a4759e36 # file: export/testdir1//d1/f1 trusted.gfid=0x682bc9b0629844e58495dff9b0b48917 # file: export/testdir1//d1/f2 trusted.gfid=0x850840048c584e91bb45d32e68ae012d # file: export/testdir1//d2 trusted.gfid=0xe3bf670a717f497b88c286e5d16a9668 # file: export/testdir1//d2/f1 trusted.gfid=0x868e864879d24ee1a6b2e6c0f16f0196 # file: export/testdir1//d2/f2 trusted.gfid=0xf08ea4f4ad5e41d6a58ba42f9e562a9f # file: export/testdir1//f1 trusted.gfid=0xbbefd0363fd54ae28d9e29fd3ef94de9
nfs mounts expect files to already have gfids. So if there is data without gfids on the backend. GFIDs needs to be assigned using a find . | xargs stat using a fuse mount. So this test case is not applicable to nfs mount. It is documented. This can't be fixed on nfs because nfs expects file handles it can use in readdir itself. But the gfids are assigned in lookup.