Define vfs_unmountall(), to unmount file systems at shutdown time.
This commit is contained in:
parent
96dd4bc868
commit
6cabaea642
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: vfs_subr.c,v 1.38 1995/01/18 06:24:21 mycroft Exp $ */
|
/* $NetBSD: vfs_subr.c,v 1.39 1995/04/10 19:46:56 mycroft Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1989, 1993
|
* Copyright (c) 1989, 1993
|
||||||
@ -1474,3 +1474,23 @@ vaccess(file_mode, uid, gid, acc_mode, cred)
|
|||||||
mask |= S_IWOTH;
|
mask |= S_IWOTH;
|
||||||
return (file_mode & mask) == mask ? 0 : EACCES;
|
return (file_mode & mask) == mask ? 0 : EACCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Unmount all file systems.
|
||||||
|
* We traverse the list in reverse order under the assumption that doing so
|
||||||
|
* will avoid needing to worry about dependencies.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
vfs_unmountall()
|
||||||
|
{
|
||||||
|
register struct mount *mp, *nmp;
|
||||||
|
int allerror;
|
||||||
|
|
||||||
|
for (allerror = 0,
|
||||||
|
mp = mountlist.cqh_last; mp != (void *)&mountlist; mp = nmp) {
|
||||||
|
nmp = mp->mnt_list.cqe_prev;
|
||||||
|
allerror |= dounmount(mp, MNT_FORCE, &proc0);
|
||||||
|
}
|
||||||
|
if (allerror)
|
||||||
|
printf("some file systems would not unmount\n");
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user