Bug 785646 - With lookup on a directory(with files and sub-dirs) without gfid's from the mount point the sub-dirs and files of the directory are not self-healed
Summary: With lookup on a directory(with files and sub-dirs) without gfid's from the m...
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pranith Kumar K
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-30 06:31 UTC by Shwetha Panduranga
Modified: 2012-01-30 11:22 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-30 11:22:29 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)
TestCase execution logs from automation framework (21.33 KB, application/octet-stream)
2012-01-30 06:31 UTC, Shwetha Panduranga
no flags Details

Description Shwetha Panduranga 2012-01-30 06:31:26 UTC
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

Comment 1 Pranith Kumar K 2012-01-30 11:22:29 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.