ESTALE after cwd deleted by same NFS client

Colin Percival cperciva at tarsnap.com
Wed Dec 21 04:00:47 UTC 2016


On 12/20/16 19:25, Don Lewis wrote:
>>> Colin Percival wrote:
>>>> In UFS there are checks for effnlink == 0 which result in e.g. ufs_lookup
>>>> returning ENOENT; would it make sense to add NREMOVED to struct nfsnode.n_flag
>>>> and check this in the appropriate nfs_* calls?
> 
> It sort of seems like this should be handled at the vfs level.  Once
> rmdir() succeeds, there should be no calls to the underlying fs code.
> Maybe add a deleted flag to the vnode ...

Or perhaps to the nfsnode, as I suggested a few emails ago?

> Dunno how ufs and zfs handle this, but the right thing happens:

I haven't looked at ZFS, but in UFS there are checks for effnlink == 0 which
result in calls returning ENOENT.

-- 
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid


More information about the freebsd-fs mailing list