]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-solaris10-ugly-avoid-ENODEV-hack-20051007
authorChas Williams <chas@cmf.nrl.navy.mil>
Fri, 7 Oct 2005 20:25:13 +0000 (20:25 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 7 Oct 2005 20:25:13 +0000 (20:25 +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 057dc4373df9055af3ce7fb8a1400104c7ade951..92dc5cbb646f25b32f1af24f4974c2f75992ae5b 100644 (file)
@@ -1464,6 +1464,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);