cvs commit: src/sys/geom geom_vfs.c

Poul-Henning Kamp phk at phk.freebsd.dk
Fri Mar 3 13:53:13 PST 2006


In message <20060303214819.GB11030 at 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 at 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.


More information about the cvs-src mailing list