projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rid of NINODE
[unix-history]
/
usr
/
src
/
sys
/
kern
/
vfs_syscalls.c
diff --git
a/usr/src/sys/kern/vfs_syscalls.c
b/usr/src/sys/kern/vfs_syscalls.c
index
e753169
..
aec349e
100644
(file)
--- a/
usr/src/sys/kern/vfs_syscalls.c
+++ b/
usr/src/sys/kern/vfs_syscalls.c
@@
-1,4
+1,4
@@
-/* vfs_syscalls.c 4.
4
%G% */
+/* vfs_syscalls.c 4.
7
%G% */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
@@
-226,7
+226,8
@@
sumount()
return;
found:
return;
found:
- for(ip = &inode[0]; ip < &inode[NINODE]; ip++)
+ stillopen = 0;
+ for(ip = inode; ip < inodeNINODE; ip++)
if (ip->i_number != 0 && dev == ip->i_dev) {
u.u_error = EBUSY;
return;
if (ip->i_number != 0 && dev == ip->i_dev) {
u.u_error = EBUSY;
return;
@@
-243,8
+244,8
@@
found:
flag = !bp->b_un.b_filsys->s_ronly;
mp->m_bufp = NULL;
brelse(bp);
flag = !bp->b_un.b_filsys->s_ronly;
mp->m_bufp = NULL;
brelse(bp);
+ mpurge(mp - &mount[0]);
if (!stillopen) {
if (!stillopen) {
- mpurge(mp - &mount[0]);
(*bdevsw[major(dev)].d_close)(dev, flag);
binval(dev);
}
(*bdevsw[major(dev)].d_close)(dev, flag);
binval(dev);
}