From owner-cvs-all@FreeBSD.ORG Mon Feb 6 10:20:12 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5AC5716A420; Mon, 6 Feb 2006 10:20:12 +0000 (GMT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50EA543D80; Mon, 6 Feb 2006 10:19:56 +0000 (GMT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k16AJoU2032777; Mon, 6 Feb 2006 10:19:50 GMT (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k16AJoe5032776; Mon, 6 Feb 2006 10:19:50 GMT (envelope-from jeff) Message-Id: <200602061019.k16AJoe5032776@repoman.freebsd.org> From: Jeff Roberson Date: Mon, 6 Feb 2006 10:19:50 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/sys mount.h src/sys/kern vfs_mount.c vfs_subr.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Feb 2006 10:20:12 -0000 jeff 2006-02-06 10:19:50 UTC FreeBSD src repository Modified files: sys/sys mount.h sys/kern vfs_mount.c vfs_subr.c Log: - Add a ref count to the mount structure. Sleep for up to 3 seconds in vfs_mount_destroy waiting for this ref to hit 0. We don't print an error if we are rebooting as the root mount always retains some refernces by init proc. - Acquire a mnt ref for every vnode allocated to a mount point. Drop this ref only once vdestroy() has been called and the mount has been freed. - No longer NULL the v_mount pointer in delmntque() so that we may release the ref after vgone() has been called. This allows us to guarantee that the mount point structure will be valid until the last vnode has lost its last ref. - Fix a few places that rely on checking v_mount to detect recycling. Sponsored by: Isilon Systems, Inc. MFC After: 1 week Revision Changes Path 1.216 +32 -2 src/sys/kern/vfs_mount.c 1.658 +8 -6 src/sys/kern/vfs_subr.c 1.205 +21 -7 src/sys/sys/mount.h