]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE140-solaris10-ugly-avoid-ENODEV-hack-20051007
authorChas Williams <chas@cmf.nrl.navy.mil>
Fri, 7 Oct 2005 20:26:34 +0000 (20:26 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 7 Oct 2005 20:26:34 +0000 (20:26 +0000)
we need to fix this another way but put it here for now

(cherry picked from commit 57e0d7e02d486c76f2004227f2918a92847377cf)

src/afs/VNOPS/afs_vnop_lookup.c

index be887e7716842e461e4d2d57ce12f5f23ef89e85..07e687709968c6034d5108586fbce92d97f2b448 100644 (file)
@@ -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);