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: