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-src/attachments/20060303/5c55f0da/attachment.bin
More information about the cvs-src
mailing list