Bug 785074

Summary: [b02afc6d008f9959db28244eb2b9dd3b9ef92393]: graph change after cding into a directory leads to resolve not haapening properly
Product: [Community] GlusterFS Reporter: Raghavendra Bhat <rabhat>
Component: fuseAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: amarts, gluster-bugs, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-24 17:11:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: glusterfs-3.3.0qa40 Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 817967    

Description Raghavendra Bhat 2012-01-27 07:12:26 UTC
Description of problem:
On a volume with a fuse client, cding into a directrory and changing the graph (like turning off some performance xlators)  will make operations on the fuse client say No such file or directory since resolve is not happening properly.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. create a volume and mount it via fuse
2. cd into a directory and change the graph
3. try to create some file or directory
  
Actual results:

 touch new
touch: cannot touch `new': No such file or directory
root@hyperspace:/mnt/client/dir# mkdir dir
mkdir: cannot create directory `dir': No such file or directory
root@hyperspace:/mnt/client/dir# 

Expected results:
Files and directories should be created.

Additional info:
 30:     option latency-measurement off
 31:     option count-fop-hits off
 32:     subvolumes vol-stat-prefetch
 33: end-volume

+------------------------------------------------------------------------------+
[2012-01-27 11:47:24.935091] I [rpc-clnt.c:1604:rpc_clnt_reconfig] 2-vol-client-0: changing port to 24009 (from 0)
[2012-01-27 11:47:25.811399] I [client-handshake.c:1086:select_server_supported_programs] 1-vol-client-0: Using Program GlusterFS 3git, Num (1
298437), Version (310)
[2012-01-27 11:47:25.812080] I [client-handshake.c:918:client_setvolume_cbk] 1-vol-client-0: Connected to 127.0.0.1:24009, attached to remote 
volume '/mnt/sda7/export3'.
[2012-01-27 11:47:25.826759] I [fuse-bridge.c:3718:fuse_graph_setup] 0-fuse: switched to graph 1
[2012-01-27 11:47:27.257810] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:47:27.258109] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:47:27.258391] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:47:28.812517] I [client-handshake.c:1086:select_server_supported_programs] 2-vol-client-0: Using Program GlusterFS 3git, Num (1298437), Version (310)
[2012-01-27 11:47:28.813190] I [client-handshake.c:918:client_setvolume_cbk] 2-vol-client-0: Connected to 127.0.0.1:24009, attached to remote volume '/mnt/sda7/export3'.
[2012-01-27 11:47:28.824662] I [fuse-bridge.c:3718:fuse_graph_setup] 0-fuse: switched to graph 2
[2012-01-27 11:47:48.287305] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:47:48.287639] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:29.926752] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:29.927033] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:31.027245] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:31.027846] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:32.342754] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:32.347750] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:32.360481] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:48:35.252240] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:49:44.286944] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:49:44.287317] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:51:02.417802] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 11:51:02.418186] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 12:02:03.177170] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 12:02:03.177454] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
[2012-01-27 12:02:05.276491] I [fuse-bridge.c:3617:fuse_thread_proc] 0-fuse: unmounting /mnt/client
[2012-01-27 12:02:05.277240] W [glusterfsd.c:783:cleanup_and_exit] (-->/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f51e28ea04d] (-->/lib/x86_64-linux-gnu/libpthread.so.0(+0x6d8c) [0x7f51e2b9ed8c] (-->/usr/local/sbin/glusterfs(glusterfs_sigwaiter+0xea) [0x40744a]))) 0-: received signum (15), shutting down

Comment 1 Amar Tumballi 2012-02-22 03:03:40 UTC
please test the behavior with 3.3.0qa23

Comment 2 Amar Tumballi 2012-03-12 12:49:22 UTC
http://review.gluster.com/2703 should fix the behavior.

Comment 3 Raghavendra Bhat 2012-05-10 10:58:51 UTC
Checked with glusterfs-3.3.0qa40 and its not happening now. cding into a directory, doing graph changes and creating new entries in that directory is working now.