Override the default VFS LKM dispatch functions so that a module
unload function can be provided (this is necessary to unregister the at_exit handler).
This commit is contained in:
parent
38bfd69bda
commit
ca2be56ff9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=37864
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile,v 1.9 1998/06/30 16:09:28 sos Exp $
|
||||
# $Id: Makefile,v 1.10 1998/07/01 17:02:57 bde Exp $
|
||||
|
||||
.PATH: ${.CURDIR}/../../sys/miscfs/procfs
|
||||
KMOD= procfs_mod
|
||||
@ -6,7 +6,7 @@ SRCS= opt_vmpage.h procfs_ctl.c procfs_map.c procfs_note.c procfs_status.c \
|
||||
procfs_subr.c procfs_type.c procfs_vfsops.c procfs_vnops.c
|
||||
NOMAN=
|
||||
VFS_LKM=
|
||||
CFLAGS+= -DPROCFS
|
||||
CFLAGS+= -DPROCFS -DVFS_LKM_NO_DEFAULT_DISPATCH
|
||||
CLEANFILES+= opt_vmpage.h
|
||||
|
||||
opt_vmpage.h:
|
||||
|
@ -36,7 +36,7 @@
|
||||
*
|
||||
* @(#)procfs_vfsops.c 8.7 (Berkeley) 5/10/95
|
||||
*
|
||||
* $Id: procfs_vfsops.c,v 1.21 1998/05/06 05:29:36 msmith Exp $
|
||||
* $Id: procfs_vfsops.c,v 1.22 1998/06/07 17:11:58 dfr Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -174,9 +174,7 @@ procfs_init(vfsp)
|
||||
struct vfsconf *vfsp;
|
||||
{
|
||||
int error;
|
||||
/*
|
||||
* XXX - this should be rm_at_exit'd in an LKM unload function,
|
||||
*/
|
||||
|
||||
if (error = at_exit(procfs_exit))
|
||||
printf("procfs: cannot register procfs_exit with at_exit -- error %d\n", error);
|
||||
|
||||
@ -210,3 +208,20 @@ static struct vfsops procfs_vfsops = {
|
||||
};
|
||||
|
||||
VFS_SET(procfs_vfsops, procfs, MOUNT_PROCFS, VFCF_SYNTHETIC);
|
||||
|
||||
#ifdef VFS_LKM
|
||||
static int
|
||||
procfs_unload ()
|
||||
{
|
||||
rm_at_exit(procfs_exit);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int
|
||||
procfs_mod(struct lkm_table *lkmtp, int cmd, int ver)
|
||||
{
|
||||
MOD_DISPATCH(procfs, lkmtp, cmd, ver, lkm_nullcmd,
|
||||
procfs_unload, lkm_nullcmd);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
*
|
||||
* @(#)procfs_vfsops.c 8.7 (Berkeley) 5/10/95
|
||||
*
|
||||
* $Id: procfs_vfsops.c,v 1.21 1998/05/06 05:29:36 msmith Exp $
|
||||
* $Id: procfs_vfsops.c,v 1.22 1998/06/07 17:11:58 dfr Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -174,9 +174,7 @@ procfs_init(vfsp)
|
||||
struct vfsconf *vfsp;
|
||||
{
|
||||
int error;
|
||||
/*
|
||||
* XXX - this should be rm_at_exit'd in an LKM unload function,
|
||||
*/
|
||||
|
||||
if (error = at_exit(procfs_exit))
|
||||
printf("procfs: cannot register procfs_exit with at_exit -- error %d\n", error);
|
||||
|
||||
@ -210,3 +208,20 @@ static struct vfsops procfs_vfsops = {
|
||||
};
|
||||
|
||||
VFS_SET(procfs_vfsops, procfs, MOUNT_PROCFS, VFCF_SYNTHETIC);
|
||||
|
||||
#ifdef VFS_LKM
|
||||
static int
|
||||
procfs_unload ()
|
||||
{
|
||||
rm_at_exit(procfs_exit);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int
|
||||
procfs_mod(struct lkm_table *lkmtp, int cmd, int ver)
|
||||
{
|
||||
MOD_DISPATCH(procfs, lkmtp, cmd, ver, lkm_nullcmd,
|
||||
procfs_unload, lkm_nullcmd);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile,v 1.9 1998/06/30 16:09:28 sos Exp $
|
||||
# $Id: Makefile,v 1.10 1998/07/01 17:02:57 bde Exp $
|
||||
|
||||
.PATH: ${.CURDIR}/../../sys/miscfs/procfs
|
||||
KMOD= procfs_mod
|
||||
@ -6,7 +6,7 @@ SRCS= opt_vmpage.h procfs_ctl.c procfs_map.c procfs_note.c procfs_status.c \
|
||||
procfs_subr.c procfs_type.c procfs_vfsops.c procfs_vnops.c
|
||||
NOMAN=
|
||||
VFS_LKM=
|
||||
CFLAGS+= -DPROCFS
|
||||
CFLAGS+= -DPROCFS -DVFS_LKM_NO_DEFAULT_DISPATCH
|
||||
CLEANFILES+= opt_vmpage.h
|
||||
|
||||
opt_vmpage.h:
|
||||
|
Loading…
Reference in New Issue
Block a user