Re: Stale file not being refreshed automatically?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2011-01-25 at 14:11 -0800, Nathan March wrote: 
> Hi All,
> 
> Having a strange issue, I've reproduced this both on nfs 3 and 4. 
> Currently using v4 with:
> 
> exports:
> /var/home/voyage 
> 10.2.1.0/24(rw,fsid=0,async,wdelay,secure,no_subtree_check,anonuid=1000,anongid=1006)
> 
> fstab:
> 10.2.1.1:/ /mnt/voyage nfs4 
> rsize=32768,wsize=32768,noatime,nosuid,rw,bg,hard,intr 0 0
> 
> Can be produced using these two commands on 2 machines:
> 
> perl -le '$| = 1 ; while (1) { sleep 1; $res = -e "/home/voyage/test"; 
> if ($res) { print "-e : $res"; } else { print "-e : $res ($!)"; } }'
> -e : 1
> 
> perl -le '$| = 1 ; while (1) { sleep 5; open(F, ">", 
> "/home/voyage/test.foo"); close F; my $res = 
> rename("/home/voyage/test.foo", "/home/voyage/test"); print "rename 
> ($res)"; }'
> 
> The first command will occasionally print out: -e :  (Stale NFS file handle)
> 
> Now according to http://nfs.sourceforge.net/#faq_a10 as of 2.6.12 the 
> vfs should automatically retry when it gets a estale during path 
> resolution. This doesn't appear to be happening though based on the 
> errors I'm seeing.
> 
> Anyone have any thoughts on what might be happening here? Or am I 
> misinterpreting that faq entry? (This is on ext3 if it matters)

Does '-e' in perl only do a lookup, or does it result in a 'stat()'
call? If the latter, then your test is flawed: a stat() is a lookup+a
getattr, and the latter can definitely return ESTALE when you are
constantly replacing the file.

Cheers
  Trond
-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux