Module Name: src Committed By: pooka Date: Tue Mar 2 19:34:49 UTC 2010
Modified Files: src/sys/ufs/lfs: lfs_vfsops.c Log Message: load lfs syscalls in modload To generate a diff of this commit: cvs rdiff -u -r1.285 -r1.286 src/sys/ufs/lfs/lfs_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/ufs/lfs/lfs_vfsops.c diff -u src/sys/ufs/lfs/lfs_vfsops.c:1.285 src/sys/ufs/lfs/lfs_vfsops.c:1.286 --- src/sys/ufs/lfs/lfs_vfsops.c:1.285 Tue Mar 2 19:30:34 2010 +++ src/sys/ufs/lfs/lfs_vfsops.c Tue Mar 2 19:34:49 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_vfsops.c,v 1.285 2010/03/02 19:30:34 pooka Exp $ */ +/* $NetBSD: lfs_vfsops.c,v 1.286 2010/03/02 19:34:49 pooka Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007, 2007 @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.285 2010/03/02 19:30:34 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.286 2010/03/02 19:34:49 pooka Exp $"); #if defined(_KERNEL_OPT) #include "opt_lfs.h" @@ -92,6 +92,9 @@ #include <sys/conf.h> #include <sys/kauth.h> #include <sys/module.h> +#include <sys/syscallvar.h> +#include <sys/syscall.h> +#include <sys/syscallargs.h> #include <miscfs/specfs/specdev.h> @@ -340,6 +343,14 @@ #endif } +/* old cleaner syscall interface. see VOP_FCNTL() */ +static const struct syscall_package lfs_syscalls[] = { + { SYS_lfs_bmapv, 0, (sy_call_t *)sys_lfs_bmapv }, + { SYS_lfs_markv, 0, (sy_call_t *)sys_lfs_markv }, + { SYS_lfs_segclean, 0, (sy_call_t *)sys___lfs_segwait50 }, + { 0, 0, NULL }, +}; + static int lfs_modcmd(modcmd_t cmd, void *arg) { @@ -347,15 +358,21 @@ switch (cmd) { case MODULE_CMD_INIT: + error = syscall_establish(NULL, lfs_syscalls); + if (error) + return error; error = vfs_attach(&lfs_vfsops); - if (error != 0) + if (error != 0) { + syscall_disestablish(NULL, lfs_syscalls); break; + } lfs_sysctl_setup(&lfs_sysctl_log); break; case MODULE_CMD_FINI: error = vfs_detach(&lfs_vfsops); if (error != 0) break; + syscall_disestablish(NULL, lfs_syscalls); sysctl_teardown(&lfs_sysctl_log); break; default: