From owner-freebsd-current@FreeBSD.ORG Wed Aug 18 10:48:54 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48C991065670; Wed, 18 Aug 2010 10:48:54 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from mx0.hoeg.nl (unknown [IPv6:2a01:4f8:101:5343::aa]) by mx1.freebsd.org (Postfix) with ESMTP id DA8F08FC13; Wed, 18 Aug 2010 10:48:53 +0000 (UTC) Received: by mx0.hoeg.nl (Postfix, from userid 1000) id 0EA682A28CDB; Wed, 18 Aug 2010 12:48:53 +0200 (CEST) Date: Wed, 18 Aug 2010 12:48:53 +0200 From: Ed Schouten To: Daichi GOTO Message-ID: <20100818104853.GB2978@hoeg.nl> References: <4C6B9F51.1060009@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ZQ93ZA/51YEIDw4/" Content-Disposition: inline In-Reply-To: <4C6B9F51.1060009@freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-fs@freebsd.org, freebsd-current@freebsd.org, ozawa@ongs.co.jp Subject: Mounting cd9660 multiple times gives EBUSY [Was: unionfs a little improvement] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Aug 2010 10:48:54 -0000 --ZQ93ZA/51YEIDw4/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/geom/geom_vfs.c (revision 211093) +++ sys/geom/geom_vfs.c (working copy) @@ -162,8 +162,10 @@ =20 *cpp =3D NULL; bo =3D &vp->v_bufobj; +#if 0 if (bo->bo_private !=3D vp) return (EBUSY); +#endif =20 pp =3D g_dev_getprovider(vp->v_rdev); if (pp =3D=3D 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 !=3D vp? --=20 Ed Schouten WWW: http://80386.nl/ --ZQ93ZA/51YEIDw4/ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAkxrupUACgkQ52SDGA2eCwVOWgCfRlwSVs8Fs3iGD2ekr/cwQmMB Y18An1UvOsrA+Xsys2nbvClJh8SoayaR =nCoj -----END PGP SIGNATURE----- --ZQ93ZA/51YEIDw4/--