From: Chas Williams Date: Fri, 7 Oct 2005 20:25:13 +0000 (+0000) Subject: STABLE14-solaris10-ugly-avoid-ENODEV-hack-20051007 X-Git-Tag: openafs-stable-1_4_1-rc1~60 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a58a3c7e77b1e559f2ef95039045cec2971581f6;p=packages%2Fo%2Fopenafs.git STABLE14-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 057dc4373..92dc5cbb6 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -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);