From owner-cvs-src@FreeBSD.ORG Tue Jul 13 19:36:59 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AAEA516A4CE; Tue, 13 Jul 2004 19:36:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8821043D39; Tue, 13 Jul 2004 19:36:59 +0000 (GMT) (envelope-from phk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6DJaxRi074392; Tue, 13 Jul 2004 19:36:59 GMT (envelope-from phk@repoman.freebsd.org) Received: (from phk@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6DJaxrp074391; Tue, 13 Jul 2004 19:36:59 GMT (envelope-from phk) Message-Id: <200407131936.i6DJaxrp074391@repoman.freebsd.org> From: Poul-Henning Kamp Date: Tue, 13 Jul 2004 19:36:59 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sbin/kldunload kldunload.8 kldunload.c src/share/man/man9 module.9 src/sys/compat/freebsd32 freebsd32_proto.h freebsd32_syscall.h freebsd32_syscalls.c freebsd32_sysent.c src/sys/dev/digi digi.c src/sys/kern ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jul 2004 19:36:59 -0000 phk 2004-07-13 19:36:59 UTC FreeBSD src repository Modified files: sbin/kldunload kldunload.8 kldunload.c share/man/man9 module.9 sys/compat/freebsd32 freebsd32_proto.h freebsd32_syscall.h freebsd32_syscalls.c freebsd32_sysent.c sys/dev/digi digi.c sys/kern init_sysent.c kern_linker.c kern_module.c link_elf.c link_elf_obj.c syscalls.c vfs_mount.c sys/sys linker.h module.h syscall.h syscall.mk sysproto.h Log: Give kldunload a -f(orce) argument. Add a MOD_QUIESCE event for modules. This should return error (EBUSY) of the module is in use. MOD_UNLOAD should now only fail if it is impossible (as opposed to inconvenient) to unload the module. Valid reasons are memory references into the module which cannot be tracked down and eliminated. When kldunloading, we abandon if MOD_UNLOAD fails, and if -force is not given, MOD_QUIESCE failing will also prevent the unload. For backwards compatibility, we treat EOPNOTSUPP from MOD_QUIESCE as success. Document that modules should return EOPNOTSUPP for unknown events. Revision Changes Path 1.13 +7 -0 src/sbin/kldunload/kldunload.8 1.14 +6 -2 src/sbin/kldunload/kldunload.c 1.8 +20 -2 src/share/man/man9/module.9 1.27 +6 -1 src/sys/compat/freebsd32/freebsd32_proto.h 1.27 +3 -2 src/sys/compat/freebsd32/freebsd32_syscall.h 1.18 +2 -1 src/sys/compat/freebsd32/freebsd32_syscalls.c 1.28 +2 -1 src/sys/compat/freebsd32/freebsd32_sysent.c 1.53 +2 -2 src/sys/dev/digi/digi.c 1.175 +2 -1 src/sys/kern/init_sysent.c 1.113 +38 -11 src/sys/kern/kern_linker.c 1.43 +7 -1 src/sys/kern/kern_module.c 1.80 +2 -2 src/sys/kern/link_elf.c 1.86 +1 -1 src/sys/kern/link_elf_obj.c 1.161 +2 -1 src/sys/kern/syscalls.c 1.136 +1 -1 src/sys/kern/vfs_mount.c 1.38 +8 -1 src/sys/sys/linker.h 1.21 +3 -2 src/sys/sys/module.h 1.159 +3 -2 src/sys/sys/syscall.h 1.114 +3 -2 src/sys/sys/syscall.mk 1.158 +6 -1 src/sys/sys/sysproto.h