Subject: kern/3726: ADOSFS can't be build as module
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@lyssa.owl.de>
List: netbsd-bugs
Date: 06/08/1997 23:40:16
>Number: 3726
>Category: kern
>Synopsis: ADOSFS can't be build as module
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 8 14:50:01 1997
>Last-Modified:
>Originator: Matthias Scheler
>Organization:
Matthias Scheler http://home.pages.de/~tron/
>Release: 970607
>Environment:
System: NetBSD lyssa 1.2F NetBSD 1.2F (LYSSA) #4: Sun Jun 8 21:58:27 MEST 1997 tron@lyssa:/usr/src/sys/arch/i386/compile/LYSSA i386
>Description:
There is no possibility to build the AmigaOS filesystem as loadable kernel
module.
>How-To-Repeat:
cd /usr/src/sys/lkm/vfs
make depend all
>Fix:
*** src/sys/lkm/vfs/Makefile.orig Mon Oct 14 18:40:52 1996
--- src/sys/lkm/vfs/Makefile Sun Jun 8 23:01:52 1997
***************
*** 1,5 ****
# $NetBSD: Makefile,v 1.1 1996/08/22 20:18:21 explorer Exp $
! SUBDIR= isofs miscfs msdosfs ufs
.include <bsd.subdir.mk>
--- 1,5 ----
# $NetBSD: Makefile,v 1.1 1996/08/22 20:18:21 explorer Exp $
! SUBDIR= adosfs isofs miscfs msdosfs ufs
.include <bsd.subdir.mk>
*** /dev/null Sun Jun 8 23:35:29 1997
--- src/sys/lkm/vfs/adosfs/Makefile Sun Jun 8 23:03:51 1997
***************
*** 0 ****
--- 1,14 ----
+ #
+
+ .include "../Makefile.inc"
+
+ .PATH: $S/adosfs ${.CURDIR}/..
+
+ NOMAN= yep
+
+ KMOD= adosfs
+
+ SRCS= lkminit_vfs.c
+ SRCS+= adlookup.c adutil.c advfsops.c advnops.c
+
+ .include <bsd.kmod.mk>
*** /dev/null Sun Jun 8 23:35:29 1997
--- src/sys/lkm/vfs/adosfs/lkminit_vfs.c Sun Jun 8 23:19:09 1997
***************
*** 0 ****
--- 1,78 ----
+ /* $NetBSD: lkminit_vfs.c,v 1.2 1997/05/19 23:26:42 jtc Exp $ */
+
+ /*-
+ * Copyright (c) 1996 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Michael Graff <explorer@flame.org>.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+ #include <sys/param.h>
+ #include <sys/ioctl.h>
+ #include <sys/systm.h>
+ #include <sys/conf.h>
+ #include <sys/mount.h>
+ #include <sys/exec.h>
+ #include <sys/lkm.h>
+ #include <sys/file.h>
+ #include <sys/errno.h>
+
+ /*
+ * This is the vfsops table for the file system in question
+ */
+ extern struct vfsops adosfs_vfsops;
+ extern struct vnodeopv_desc adosfs_vnodeop_opv_desc;
+
+ /*
+ * declare the filesystem
+ */
+ MOD_VFS("adosfs", -1, &adosfs_vfsops);
+
+ /*
+ * entry point
+ */
+ int
+ adosfs_lkmentry(lkmtp, cmd, ver)
+ struct lkm_table *lkmtp;
+ int cmd;
+ int ver;
+ {
+ /*
+ * This is normally done automatically at boot time if the
+ * opv_desc is listed in vfs_opv_descs[] in vfs_conf.c. For
+ * loaded modules, we have to do it manually.
+ */
+ vfs_opv_init_explicit(&adosfs_vnodeop_opv_desc);
+ vfs_opv_init_default(&adosfs_vnodeop_opv_desc);
+
+ DISPATCH(lkmtp, cmd, ver, lkm_nofunc, lkm_nofunc, lkm_nofunc)
+ }
>Audit-Trail:
>Unformatted: