From owner-cvs-src@FreeBSD.ORG Fri Mar 3 21:53:12 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org 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 DC53816A420; Fri, 3 Mar 2006 21:53:12 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from pasmtp.tele.dk (pasmtp.tele.dk [193.162.159.95]) by mx1.FreeBSD.org (Postfix) with ESMTP id 00BE143D53; Fri, 3 Mar 2006 21:53:09 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (0x535c0e2a.sgnxx1.adsl-dhcp.tele.dk [83.92.14.42]) by pasmtp.tele.dk (Postfix) with ESMTP id 9DCC61EC332; Fri, 3 Mar 2006 22:53:08 +0100 (CET) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.4/8.13.4) with ESMTP id k23Lr7Rh028477; Fri, 3 Mar 2006 21:53:08 GMT (envelope-from phk@critter.freebsd.dk) To: Pawel Jakub Dawidek From: "Poul-Henning Kamp" In-Reply-To: Your message of "Fri, 03 Mar 2006 22:48:19 +0100." <20060303214819.GB11030@garage.freebsd.pl> Date: Fri, 03 Mar 2006 21:53:07 +0000 Message-ID: <28476.1141422787@critter.freebsd.dk> Sender: phk@critter.freebsd.dk Cc: cvs-src@FreeBSD.org, Jeff Roberson , src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/geom geom_vfs.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 03 Mar 2006 21:53:13 -0000 In message <20060303214819.GB11030@garage.freebsd.pl>, Pawel Jakub Dawidek writ es: >+> g_topology_assert(); >+> @@ -147,7 +148,9 @@ g_vfs_open(struct vnode *vp, struct g_co >+> g_wither_geom(gp, ENXIO); >+> return (error); >+> } >+> + vfslocked =3D VFS_LOCK_GIANT(vp->v_mount); >+> vnode_create_vobject(vp, pp->mediasize, curthread); >+> + VFS_UNLOCK_GIANT(vfslocked); > >Acquiring Giant while holding the topology lock is a bad thing, AFAIK. >CCing phk@ to correct me if I'm wrong or explain why exactly I'm right. topology -> Giant is hopefully the correct order of not a lot of trouble should be had in geom_dev when we call make_dev(). -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.