From: Chas Williams Date: Fri, 7 Oct 2005 20:26:34 +0000 (+0000) Subject: STABLE140-solaris10-ugly-avoid-ENODEV-hack-20051007 X-Git-Tag: openafs-stable-1_4_0-rc7~8 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3127eef8cdbea0a8e8e078441685dcedeebb7cdf;p=packages%2Fo%2Fopenafs.git STABLE140-solaris10-ugly-avoid-ENODEV-hack-20051007 we need to fix this another way but put it here for now (cherry picked from commit 57e0d7e02d486c76f2004227f2918a92847377cf) --- diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index be887e771..07e687709 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -1434,6 +1434,14 @@ afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED ReleaseWriteLock(&tvc->lock); if (code) { +#if defined(AFS_SUN510_ENV) + /* reset code and volumeError so afs_CheckCode will not change to ENODEV */ + /* Solaris 10 dogetcwd chokes on ENODEV, but not ENOENT */ + if (code == ENODEV && treq.volumeError == VOLMISSING ) { + treq.volumeError = 0; + code = ENOENT; + } +#endif afs_PutVCache(tvc); if (tvolp) afs_PutVolume(tvolp, WRITE_LOCK);