Li, which version of glusterfs are you trying? this was a known issue is 1.3.7and the tla version has the fix. the fix was that fuse_entry_cbk does the retry when a revalidate fails with a fresh lookup, since this kind of 'retry' is more generic than unify-specific. avati 2008/1/7, LI Daobing <lidaobing@xxxxxxxxx>: > > Hello, > > this story is a little long. > > consider a two computer, and each computer have one server and one > client model. Computer C1's server is a simple posix+server, C1's > client is a unify on two clients, one client connect to C1's server, > another client connect to C2's server, unify use rr schedule. C2's > server and client use the same conf as the C1.(ns on both server is > OK). > > In computer C1's mount diretory M1, we create two file `f1' and `f2', > f1 will stored on C1 and f2 will stored on C2. use ls command to make > fuse init the inode of f1 and f2. Also do run ls in C2's mount > directory to assure f2's fuse will init these two inodes. > > then in C1's mount directory M1, run following command 'rm f2; mv f1 f2" > > then in C2's mount directory M2, run "cat f2", you will got following > error[1]. more badly, you don't know how to jump out this stat > without restart glusterfs. > > [1] > $ cat f2 > cat: f2: File descriptor in bad state > > In our case, it's more bad, we have 9 clients, and when this happen, > we have to restart 8 clients(in fact, we restart all, :) ) > > I think, we can avoid this problem in the unify_lookup_cbk, when a > revalidate lookup returned with error, we re-lookup without revalidate > flag, then we can got the correct sub-volume again. > > Any suggestion? Thanks. > > BTW, there is a more complex case if C2 is opening f1 and f2, and I > don't care that case (at least now). > > -- > Best Regards, > LI Daobing > > > _______________________________________________ > Gluster-devel mailing list > Gluster-devel@xxxxxxxxxx > http://lists.nongnu.org/mailman/listinfo/gluster-devel > -- If I traveled to the end of the rainbow As Dame Fortune did intend, Murphy would be there to tell me The pot's at the other end.