Mounting cd9660 multiple times gives EBUSY [Was: unionfs a little improvement]

Ed Schouten ed at 80386.nl
Wed Aug 18 10:48:54 UTC 2010


Hi Daichi,

I think Keith Packard of Xorg once wrote a commit message along the
lines of "5000 lines of code removed, feature added" This seems to be
similar, albeit on a smaller scale. ;-)

Apart from this issue with unionfs, I am also experiencing another
issue, where for some reason I cannot perform a second mount of the CD
right after booting the system. Basically, my WIP FreeBSD boot CD does
the following (but written in C):

	mount -t cd9660 /dev/iso9660/freebsd /mnt
	mount -t tmpfs none /tmp
	mount -t unionfs /tmp /mnt
	mount -t devfs none /mnt/dev
	chroot /mnt /sbin/init

The first step fails with EBUSY. I use the following hack to get it
working, but I don't think it's the proper way to solve it:

%%%
Index: sys/geom/geom_vfs.c
===================================================================
--- sys/geom/geom_vfs.c	(revision 211093)
+++ sys/geom/geom_vfs.c	(working copy)
@@ -162,8 +162,10 @@
 
 	*cpp = NULL;
 	bo = &vp->v_bufobj;
+#if 0
 	if (bo->bo_private != vp)
 		return (EBUSY);
+#endif
 
 	pp = g_dev_getprovider(vp->v_rdev);
 	if (pp == NULL)
%%%

I am really not that familiar with GEOM/VFS to understand the impact of
this change. What does it actually mean if bo->bo_private != vp?

-- 
 Ed Schouten <ed at 80386.nl>
 WWW: http://80386.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100818/106fc278/attachment.pgp


More information about the freebsd-current mailing list