From owner-freebsd-emulation@FreeBSD.ORG Tue Jul 26 18:23:40 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A51EE106566B; Tue, 26 Jul 2011 18:23:40 +0000 (UTC) (envelope-from nox@jelal.kn-bremen.de) Received: from smtp.kn-bremen.de (gelbbaer.kn-bremen.de [78.46.108.116]) by mx1.freebsd.org (Postfix) with ESMTP id 5DAD68FC0A; Tue, 26 Jul 2011 18:23:40 +0000 (UTC) Received: by smtp.kn-bremen.de (Postfix, from userid 10) id 19CCD1E000D3; Tue, 26 Jul 2011 20:05:49 +0200 (CEST) Received: from triton8.kn-bremen.de (noident@localhost [127.0.0.1]) by triton8.kn-bremen.de (8.14.4/8.14.3) with ESMTP id p6QI3Z4a083587; Tue, 26 Jul 2011 20:03:35 +0200 (CEST) (envelope-from nox@triton8.kn-bremen.de) Received: (from nox@localhost) by triton8.kn-bremen.de (8.14.4/8.14.3/Submit) id p6QI3ZCb083586; Tue, 26 Jul 2011 20:03:35 +0200 (CEST) (envelope-from nox) From: Juergen Lock Date: Tue, 26 Jul 2011 20:03:35 +0200 To: Brandon Gooch Message-ID: <20110726180335.GA82849@triton8.kn-bremen.de> References: <1311574719.49706.YahooMailClassic@web122313.mail.ne1.yahoo.com> <4E2D1275.8000305@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-hackers@freebsd.org, freebsd-emulation@freebsd.org, nox@jelal.kn-bremen.de Subject: wdrain vs. fuse/ggate (was: Re: mount vdi) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Jul 2011 18:23:40 -0000 On Mon, Jul 25, 2011 at 06:31:36PM -0500, Brandon Gooch wrote: > 2011/7/25 Andrey V. Elsukov : > > On 25.07.2011 10:18, Joe Sciulli wrote: > >> Is it possible to mount virtualbox vdi file on the FreeBSD host?  This appears to be doable on > >> windows and linux hosts, which basically is done in two steps: 1. find offset in the image. 2. > >> mount the image with that offset. > >> > >> I'm trying to do the same thing on FreeBSD, and found the undocumented and deprecated command > >> still works: > >> > >> VBoxManage internalcommands dumphdinfo freebsd_home.vdi > >> > >> I got the following for the virtual disk image holding the /home (no root hence no MBR) disk for > >> a FreeBSD guest: > >> > >> Header: offBlocks=4096 offData=28672 > >> > >> Then attempt to mount it: > >> > >> mdconfig -a -t vnode -f /tmp/freebsd_home_56.vdi -u 0 mount /dev/md0 /tmp/aaa/ mount -t cd9660 > >> /dev/md0 /tmp/aaa/ > >> > >> unfortunately both the above two mount commands failed with "Invalid argument".  I tried > >> skip=28672 to no avail as well.  Anything did I do wrong? > > > > I have not any Vbox images with fixed size, but i tried this: > > # mdconfig -f 10G_GPT_UFS.vdi > > # gnop create -v -o 41472 /dev/md0 > > > > where 41472 is offData value. After that md0.nop was tasted and reports about invalid GPT. > > So, i think if your image is fixed size disk yout can try this method and mount UFS (not cd9660). > > > > -- > > WBR, Andrey V. Elsukov > > There was a CFT sent out a while back about a fuse module for mounting > vdi images: > > http://lists.freebsd.org/pipermail/freebsd-emulation/2010-September/007964.html > > Not sure about the state of this now though... Yeah sorry I never got back to this after getting reports that writes are stuck in wdrain... [1] I guess what happens is the vdfuse process wants to write many(?) more blocks than the number that got queued by the original fuse request and/or too many writes get queued up at once before the vdfuse process gets to handle them (trying to increase runningbufspace even more), and thus there is deadlock. :( So my question for -hackers is, does anyone have a clever idea how to fix this? Should the fuse requests for this be exempted from the wdrain bookkeeping so that only the actual writes by the vdfuse process get counted, and if yes, how would I best accomplish this? Thanx! :) Juergen [1] http://fxr.watson.org/fxr/source/kern/vfs_bio.c?im=excerpts#L417