Bug 785133

Summary: [6b0cd9fc8450029449f7c320a2e5d766e87ac8d4]: stat/ls returns null even when files are present
Product: [Community] GlusterFS Reporter: Rahul C S <rahulcs>
Component: stripeAssignee: shishir gowda <sgowda>
Status: CLOSED WORKSFORME QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: pre-releaseCC: gluster-bugs, nsathyan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-30 05:26:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Rahul C S 2012-01-27 12:09:57 UTC
Description of problem:
ls does not list back files/directories when stripe translator is present

Volume Name: vol2
Type: Stripe
Volume ID: dbf69d4f-c771-4ec0-9e1d-ea2e7f11f378
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: dagobah:/data/export17
Brick2: dagobah:/data/export18

root@Dagobah:/data/mounts/stripe# ls -a
root@Dagobah:/data/mounts/stripe# touch file
root@Dagobah:/data/mounts/stripe# stat file
  File: `file'
  Size: 0         	Blocks: 16         IO Block: 131072 regular empty file
Device: 17h/23d	Inode: 10870997335137326270  Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-01-27 17:35:19.000000000 +0530
Modify: 2012-01-27 17:35:19.000000000 +0530
Change: 2012-01-27 17:35:19.000000000 +0530
root@Dagobah:/data/mounts/stripe# ls file
file
root@Dagobah:/data/mounts/stripe# ls -ltrh file
-rw-r--r-- 1 root root 0 2012-01-27 17:35 file
root@Dagobah:/data/mounts/stripe# ls 
root@Dagobah:/data/mounts/stripe# ls -a
root@Dagobah:/data/mounts/stripe# 

If stat/ls is issued with the correct filename then it returns properly.

client logs:
[2012-01-27 17:33:50.495720] I [afr-common.c:1844:afr_set_root_inode_on_first_lookup] 0-vol-replicate-0: added root inode
[2012-01-27 17:33:50.495833] I [afr-common.c:1844:afr_set_root_inode_on_first_lookup] 0-vol-replicate-1: added root inode
[2012-01-27 17:33:50.497697] I [afr-common.c:1844:afr_set_root_inode_on_first_lookup] 0-vol-replicate-2: added root inode
[2012-01-27 17:33:50.497831] I [afr-common.c:1844:afr_set_root_inode_on_first_lookup] 0-vol-replicate-3: added root inode
[2012-01-27 17:33:58.476948] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:33:58.478095] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:33:58.478149] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:33:59.723775] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:33:59.726197] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:33:59.726316] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:11.973550] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:35:11.975527] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:11.999583] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:14.170680] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:35:14.171843] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:14.171922] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:37.666188] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:35:37.667178] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:37.667286] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:39.236459] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:35:39.237959] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:35:39.238043] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:36:03.113981] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-2: remote operation failed: No such file or directory
[2012-01-27 17:36:03.114843] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory
[2012-01-27 17:36:03.115020] W [client3_1-fops.c:418:client3_1_stat_cbk] 0-vol-client-6: remote operation failed: No such file or directory

Comment 1 shishir gowda 2012-01-30 05:26:37 UTC
Your volinfo, and logs seem to be in conflicts.
Volinfo->stripe

log-> afr present.

On a plain stripe, ls/stat succeeds

Volume Name: stripe
Type: Stripe
Volume ID: 27afc264-5f56-4225-ad87-cbd34076a598
Status: Started
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: sng:/export/stripe1
Brick2: sng:/export/stripe2
Brick3: sng:/export/stripe3
Brick4: sng:/export/stripe4

mount:
sng:/stripe on /mnt/stripe type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)

root@shishirng:/mnt/stripe# touch file
root@shishirng:/mnt/stripe# ls -la
total 8
drwxr-xr-x  3 root root   34 2012-01-30 10:48 .
drwxr-xr-x 10 root root 4096 2011-11-21 11:10 ..
-rw-r--r--  1 root root    0 2012-01-30 10:48 file

root@shishirng:/mnt/stripe# stat file
  File: `file'
  Size: 0         	Blocks: 32         IO Block: 131072 regular empty file
Device: 16h/22d	Inode: 12534412219808266157  Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-01-30 10:48:33.000000000 +0530
Modify: 2012-01-30 10:48:33.000000000 +0530
Change: 2012-01-30 10:48:33.066919919 +0530
root@shishirng:/mnt/stripe# ls -ltrh
total 4.0K
-rw-r--r-- 1 root root 0 2012-01-30 10:48 file
---------------------------------------------------

Even on a stripe-replicat volume it succeeds

gluster> volume info 
 
Volume Name: new
Type: Striped-Replicate
Volume ID: c7327145-a0b3-436e-bf02-a918466998a9
Status: Started
Number of Bricks: 1 x 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: sng:/export/dir1
Brick2: sng:/export/dir2
Brick3: sng:/export/dir3
Brick4: sng:/export/dir4

mount:
sng:/new on /mnt/test type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)

root@shishirng:/mnt/test# touch file
root@shishirng:/mnt/test# ls -la
total 8
drwxr-xr-x  3 root root   34 2012-01-30 10:53 .
drwxr-xr-x 10 root root 4096 2011-11-21 11:10 ..
-rw-r--r--  1 root root    0 2012-01-30 10:53 file

root@shishirng:/mnt/test# stat file
  File: `file'
  Size: 0         	Blocks: 16         IO Block: 131072 regular empty file
Device: 16h/22d	Inode: 11930543411024171203  Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-01-30 10:53:31.000000000 +0530
Modify: 2012-01-30 10:53:31.000000000 +0530
Change: 2012-01-30 10:53:31.636400442 +0530