*/
if (err == ENOENT)
err = 0;
- else if (!err) {
+#ifndef AFS_AIX51_ENV
+ else
+#endif
+ if (!err) {
+#ifdef AFS_AIX51_ENV
+ if (err = unpin(&afs_callout_lock))
+ err = 0;
+#endif
if (err = unpincode(afs_config))
err = 0;
ip = 0;
goto out;
}
- IREAD_UNLOCK(ip);
if (vpp) {
if (nvfsp)
*vpp = ip->i_gnode.gn_vnode;
else
setuerror(iptovp(vfsp, ip, vpp));
}
+ IREAD_UNLOCK(ip);
out:
return ip;
}
struct vfs *afs_globalVFS = 0;
struct vcache *afs_globalVp = 0;
+extern int afs_cold_shutdown;
static int afs_root_nolock(struct vfs *afsp, struct vnode **avpp);
afsp->vfs_mntdover->v_mvfsp = afsp;
afsp->vfs_mdata->vmt_flags |= MNT_REMOTE;
+#ifdef AFS_AIX51_ENV
+ afsp->vfs_count = 1;
+ afsp->vfs_mntd->v_count = 1;
+#endif
#ifdef AFS_AIX_IAUTH_ENV
if (afs_iauth_register() < 0)
afs_warn("Can't register AFS iauth interface.\n");
AFS_STATCNT(afs_unmount);
afs_globalVFS = 0;
+ afs_cold_shutdown = 1;
afs_shutdown();
AFS_VFSUNLOCK();
afs_termState = AFSOP_STOP_RXCALLBACK;
rx_WakeupServerProcs();
+#ifdef AFS_AIX51_ENV
+ shutdown_rxkernel();
+#endif
/* shutdown_rxkernel(); */
while (afs_termState == AFSOP_STOP_RXCALLBACK)
afs_osi_Sleep(&afs_termState);
shutdown_rx();
afs_shutdown_BKG();
shutdown_bufferpackage();
+#endif
+#ifdef AFS_AIX51_ENV
shutdown_daemons();
+#endif
+#ifdef notdef
shutdown_cache();
shutdown_osi();
shutdown_osinet();
#ifdef AFS_AIX41_ENV
lock_free(&afs_asyncbuf_lock);
unpin(&afs_asyncbuf, sizeof(struct buf *));
- pin(&afs_asyncbuf_cv, sizeof(afs_int32));
+ unpin(&afs_asyncbuf_cv, sizeof(afs_int32));
#else /* AFS_AIX41_ENV */
afs_busyq = NULL;
afs_biodcnt = 0;
}
afs_cbrSpace = 0;
-#if !defined(AFS_OSF_ENV)
- afs_osi_Free(Initial_freeVCList, afs_cacheStats * sizeof(struct vcache));
-#endif
#ifdef KERNEL_HAVE_PIN
unpin(Initial_freeVCList, afs_cacheStats * sizeof(struct vcache));
#endif
+#if !defined(AFS_OSF_ENV)
+ afs_osi_Free(Initial_freeVCList, afs_cacheStats * sizeof(struct vcache));
+#endif
#if !defined(AFS_OSF_ENV)
freeVCList = Initial_freeVCList = 0;
#endif
rxk_portRocks[i] = NULL;
}
}
+ del_input_type(0xdead);
}
}