On Thu, Mar 02, 2006 at 05:37:44AM +0000, Jeff Roberson wrote: +> jeff 2006-03-02 05:37:44 UTC +> +> FreeBSD src repository +> +> Modified files: +> sys/geom geom_vfs.c +> Log: +> - Lock Giant if needed around the call to vnode_create_vobject(). This is +> only important if devfs is not mpsafe. [...] +> g_topology_assert(); +> @@ -147,7 +148,9 @@ g_vfs_open(struct vnode *vp, struct g_co +> g_wither_geom(gp, ENXIO); +> return (error); +> } +> + vfslocked = 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. -- Pawel Jakub Dawidek http://www.wheel.pl [EMAIL PROTECTED] http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am!
pgp5wDoBFJdK8.pgp
Description: PGP signature
