cvs commit: src/sys/geom geom_vfs.c

Pawel Jakub Dawidek pjd at FreeBSD.org
Fri Mar 3 13:48:46 PST 2006


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
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20060303/5c55f0da/attachment.bin


More information about the cvs-all mailing list