From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] Re: [RFC][PATCH] Modify loop device to be able to manage partitions of the image disk Date: Wed, 16 Jan 2008 08:57:27 -0600 Message-ID: <478E1B57.7090609@codemonkey.ws> References: <120042137328-git-send-email-Laurent.Vivier@bull.net> <20080115182745.GY17783@redhat.com> <1200440406.4602.16.camel@frecb07144> <20080115235438.GB30528@redhat.com> <1200443443.4602.32.camel@frecb07144> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org To: Laurent Vivier Return-path: In-Reply-To: <1200443443.4602.32.camel@frecb07144> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org TGF1cmVudCBWaXZpZXIgd3JvdGU6Cj4gTGUgbWFyZGkgMTUgamFudmllciAyMDA4IMOgIDIzOjU0 ICswMDAwLCBEYW5pZWwgUC4gQmVycmFuZ2UgYSDDqWNyaXQgOgo+ICAgCj4+IE9uIFdlZCwgSmFu IDE2LCAyMDA4IGF0IDEyOjQwOjA2QU0gKzAxMDAsIExhdXJlbnQgVml2aWVyIHdyb3RlOgo+PiAg ICAgCj4+PiBMZSBtYXJkaSAxNSBqYW52aWVyIDIwMDggw6AgMTg6MjcgKzAwMDAsIERhbmllbCBQ LiBCZXJyYW5nZSBhIMOpY3JpdCA6Cj4+PiAgICAgICAKPj4+PiBPbiBUdWUsIEphbiAxNSwgMjAw OCBhdCAwNzoyMjo1M1BNICswMTAwLCBMYXVyZW50IFZpdmllciB3cm90ZToKPj4+PiAgICAgICAg IAo+Pj4+PiBBcyBpdCBzaG91bGQgYmUgdXNlZnVsIHRvIGJlIGFibGUgdG8gbW91bnQgcGFydGl0 aW9uIGZyb20gYSAKPj4+Pj4gZGlzayBpbWFnZSwgKGFuZCBhcyBJIG5lZWQgYSBicmVhayBpbiBt eSBidWcgaHVudGluZykgSSd2ZSAKPj4+Pj4gbW9kaWZpZWQgdGhlIGxvb3AgZHJpdmVyIHRvIG1v dW50IHJhdyBkaXNrIGltYWdlLgo+Pj4+Pgo+Pj4+PiBUbyBub3QgYnJlYWsgb3JpZ2luYWwgbG9v cCBkZXZpY2UsIGFzIHdlIGhhdmUgdG8gY2hhbmdlIG1pbm9yIAo+Pj4+PiBudW1iZXJzIHRvIG1h bmFnZSBwYXJ0aXRpb25zLCBhIG5ldyBwYXJhbWV0ZXIgaXMgYWRkZWQgdG8gdGhlIG1vZHVsZToK Pj4+Pj4gICAgICAgICAgIAo+Pj4+IEkgZG9uJ3Qgc2VlIHRoZSBwb2ludCBpbiBtb2RpZnlpbmcg dGhlIGxvb3AgZGV2aWNlIGRyaXZlciB3aGVuIHlvdQo+Pj4+IGNhbiBhbHJlYWR5IGFjY2VzcyB0 aGUgcGFydGl0aW9ucyB3aXRoIGV4aXN0aW5nIGRldmljZSBtYXBwZXIKPj4+PiBmdW5jdGlvbmFs aXR5ICYgdG9vbHMuCj4+Pj4gICAgICAgICAKPj4+IFRoZXJlIGFyZSB0d28gcmVhc29uczoKPj4+ Cj4+PiAxLSBJIGRpZG4ndCBrbm93IGtwYXJ0eCAodGhhbmsgeW91IGZvciB0aGUgdGlwKQo+Pj4K Pj4+IGJ1dCB1c2luZyBsb29wIGRldmljZSwgeW91IHdpbGwgYmUgYWJsZSB0byB1c2UgYWxsIHBh cnRpdGlvbiB0YWJsZXMKPj4+IGtub3duIGJ5IHRoZSBrZXJuZWwgKGFjb3JuLCAgYXRhcmksICBl ZmksICBrYXJtYSwgIG1hYywgb3NmLCBzdW4sCj4+PiB1bHRyaXgsIGFtaWdhLCBpYm0sIGxkbSwg bXNkb3MsIHNnaSwgc3lzdjY4KSwgd2hlcmVhcyBrcGFydHggY2FuIHVzZQo+Pj4gb25seSBwYXJ0 aXRpb24gdGFibGVzIGl0IGtub3dzIChic2QsIGRhc2QsIGRvcywgbWFjLCBzdW4sIGVmaSwgc3Vu LAo+Pj4gdW5peHdhcmUpLgo+Pj4gICAgICAgCj4+IFRoaXMgaXMgYW4gYXJndW1lbnQgZm9yIGV4 dGVuZGluZyBrcGFydHggdG8gY29wZSB3aXRoIHRoZSBvdGhlcgo+PiBwYXJ0aXRpb24gdGFibGVz IDotKSAgSSBoYXZlIDUwLzUwIHNwbGl0IGJldHdlZW4gVk1zIHVzaW5nIGZpbGVzCj4+ICAgICAK Pgo+IEdvb2QgdHJ5Li4uIGJ1dCBJTUhPLCBJIHRoaW5rIGl0IGlzIGJldHRlciB0byBsZXQgdGhl IGtlcm5lbCBkZWNvZGUgdGhlCj4gcGFydGl0aW9uIHRhYmxlLi4uCj4KPiAgIAo+PiB2cyBWTXMg dXNpbmcgTFZNIHZvbHVtZXMgLSB0aGUgbG9vcCBkcml2ZXIgcGF0Y2hlcyBvbmx5IGhlbHAgeW91 Cj4+IGFjY2VzcyBwYXJ0aXRpb25zIHdpdGhpbiBhIGZpbGUgYmFzZWQgaW1hZ2UsIHdoZXJlYXMg a3BhcnR4IGNhbgo+PiBhY2Nlc3MgdGhlIHBhcnRpdGlvbnMgd2l0aGluIGFueSBibG9jayBkZXZp Y2UsIHNvIGNhbiBzdXBwb3J0IAo+PiBmaWxlcyAodmlhIGV4aXN0aW5nIGxvb3AgZGV2aWNlKSAm IExWTSB2b2xzICYgbmVzdGVkIHBhcnRpdGlvbnMuCj4+ICAgICAKPgo+IEkgdGhpbmsgeW91J3Jl IHdyb25nIChidXQgeW91IHNlZW0gdG8ga25vdyB0aGUgc3ViamVjdCBiZXR0ZXIgdGhhbiBtZSwK PiBzbyAuLi4pOiB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gdXNlIHRoZSBtb2RpZmllZCBsb29wIGRl dmljZSBvbiB0aGUKPiBsb2dpY2FsIHZvbHVtZSB0byBkZWNvZGUgcGFydGl0aW9uIHRhYmxlLgo+ Cj4gICAKPj4+IDItIEknZCBsaWtlIHRvIG1vdW50IHFjb3cyIG9yIG90aGVycyBkaXNrIGltYWdl IGZvcm1hdHMsIHNvIHBlcmhhcHMgaXQncwo+Pj4gZWFzaWVyIHRvIG1vZGlmeSBsb29wIGRldmlj ZSBkcml2ZXIgKGJ1dCBwZXJoYXBzIHlvdSBrbm93IGFub3RoZXIgbWFnaWMKPj4+IHRvb2wgPykK Pj4+ICAgICAgIAo+PiBUaGVyZSBoYXMgYmVlbiBzb21lIHdvcmsgaW4gdGhpcyBhcmVhIHdydCB0 byBYZW4gLSB0aGUgRE0tVXNlcnNwYWNlIHByb2plY3QKPj4gaGFkIHNvbWUgd29ya2luZyBjb2Rl IHByb3ZpZGluZyBhIGRldmljZSBtYXBwZXIgdGFyZ2V0IGNhbGxpbmcgb3V0IHRvIGEgCj4+IHVz ZXJzcGFjZSBkYWVtb24gdG8gaGFuZGxlIG5vbi1yYXcgZmlsZSBmb3JtYXRzIGxpa2UgcWNvdy4g SSBkb24ndAo+PiBrbm93IHdoYXQgdGhlIHN0YXRlIG9mIGl0IGlzIG5vdyB3cnQgdG8gdXBzdHJl YW0ga2VybmVsIC8gZGV2aWNlLW1hcHBlciwKPj4gb3IgZXZlbiB3aGV0aGVyIGl0IGlzIG1vcmUg dGhhbiBqdXN0ICdwcm9vZiBvZiBjb25jZXB0JywgYnV0IHRoZSBwcm9qZWN0Cj4+IHBhZ2UgaXMg aGVyZSB3aXRoIHNvbWUgaW5mbzoKPj4KPj4gICBodHRwOi8vd2lraS54ZW5zb3VyY2UuY29tL3hl bndpa2kvRG1Vc2Vyc3BhY2UKCkZXSVcsIEkgc3RpbGwgdGhpbmsgYSB1c2Vyc3BhY2UgYmxvY2sg ZGV2aWNlIGlzIHRoZSBSaWdodCBXYXkgdG8gc3VwcG9ydCAKdGhlc2Ugc29ydCBvZiB0aGluZ3Mu ICBkbS11c2Vyc3BhY2UgdHVybmVkIG91dCB0byBiZSBkaWZmaWN1bHQgYXMgZGV2aWNlIAptYXBw ZXIgaGFzIHNvbWUgcmF0aGVyIHN0cmljdCByZXF1aXJlbWVudHMgYWJvdXQgYWxpZ25tZW50IHRo YXQgc29tZSAKZm9ybWF0cyAobGlrZSBxY293KSBjYW5ub3Qgc2F0aXNmeS4KClRoZSBsb29wIGRy aXZlciBpcyBhIHRlcnJpYmxlIGJhc2UgdG8gc3RhcnQgZnJvbSBhcyBpdCBkb2VzIG5vdCBwcmVz ZXJ2ZSAKZGF0YSBpbnRlZ3JpdHkuCgpSZWdhcmRzLAoKQW50aG9ueSBMaWd1b3JpCgo+PiBJdCBz ZWVtcyBhIHZlcnkgZ29vZCBpZGVhLCBidXQgd2hhdCBJIGRvbid0IGxpa2U6Cj4+IC0gaXQgc2Vl bXMgdmVyeSBjb21wbGV4IChsaWtlIElCTSBndXlzIGxpa2UgOy0pICkKPj4gLSBpdCBpcyBvbmUg YW5kIGEgaGFsZiB5ZWFyIG9sZAo+Pgo+PiBUbyBiZSBob25lc3QsIGlmIHNvbWV0aGluZyBnb29k IGFscmVhZHkgZXhpc3RzLCBJIHRha2UgaXQuLi4KPj4KPj4gTGF1cmVudAo+PiAgICAgCj4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwgaXMg c3BvbnNvcmVkIGJ5OiBNaWNyb3NvZnQKPiBEZWZ5IGFsbCBjaGFsbGVuZ2VzLiBNaWNyb3NvZnQo UikgVmlzdWFsIFN0dWRpbyAyMDA4Lgo+IGh0dHA6Ly9jbGsuYXRkbXQuY29tL01SVC9nby92c2Uw MTIwMDAwMDcwbXJ0L2RpcmVjdC8wMS8KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4ga3ZtLWRldmVsIG1haWxpbmcg bGlzdAo+IGt2bS1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBodHRwczovL2xpc3RzLnNv dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9rdm0tZGV2ZWwKPiAgIAoKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBNaWNyb3NvZnQKRGVmeSBh bGwgY2hhbGxlbmdlcy4gTWljcm9zb2Z0KFIpIFZpc3VhbCBTdHVkaW8gMjAwOC4KaHR0cDovL2Ns ay5hdGRtdC5jb20vTVJUL2dvL3ZzZTAxMjAwMDAwNzBtcnQvZGlyZWN0LzAxLwpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprdm0tZGV2ZWwgbWFpbGluZyBs aXN0Cmt2bS1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vm b3JnZS5uZXQvbGlzdHMvbGlzdGluZm8va3ZtLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JF9hl-0002iM-C9 for qemu-devel@nongnu.org; Wed, 16 Jan 2008 09:57:25 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JF9hk-0002g8-8L for qemu-devel@nongnu.org; Wed, 16 Jan 2008 09:57:24 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JF9hk-0002fu-3w for qemu-devel@nongnu.org; Wed, 16 Jan 2008 09:57:24 -0500 Received: from an-out-0708.google.com ([209.85.132.244]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JF9hj-0002yd-IM for qemu-devel@nongnu.org; Wed, 16 Jan 2008 09:57:23 -0500 Received: by an-out-0708.google.com with SMTP id b38so86135ana.130 for ; Wed, 16 Jan 2008 06:57:21 -0800 (PST) Message-ID: <478E1B57.7090609@codemonkey.ws> Date: Wed, 16 Jan 2008 08:57:27 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [kvm-devel] [Qemu-devel] Re: [RFC][PATCH] Modify loop device to be able to manage partitions of the image disk References: <120042137328-git-send-email-Laurent.Vivier@bull.net> <20080115182745.GY17783@redhat.com> <1200440406.4602.16.camel@frecb07144> <20080115235438.GB30528@redhat.com> <1200443443.4602.32.camel@frecb07144> In-Reply-To: <1200443443.4602.32.camel@frecb07144> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: kvm-devel@lists.sourceforge.net, qemu-devel@nongnu.org Laurent Vivier wrote: > Le mardi 15 janvier 2008 à 23:54 +0000, Daniel P. Berrange a écrit : > >> On Wed, Jan 16, 2008 at 12:40:06AM +0100, Laurent Vivier wrote: >> >>> Le mardi 15 janvier 2008 à 18:27 +0000, Daniel P. Berrange a écrit : >>> >>>> On Tue, Jan 15, 2008 at 07:22:53PM +0100, Laurent Vivier wrote: >>>> >>>>> As it should be useful to be able to mount partition from a >>>>> disk image, (and as I need a break in my bug hunting) I've >>>>> modified the loop driver to mount raw disk image. >>>>> >>>>> To not break original loop device, as we have to change minor >>>>> numbers to manage partitions, a new parameter is added to the module: >>>>> >>>> I don't see the point in modifying the loop device driver when you >>>> can already access the partitions with existing device mapper >>>> functionality & tools. >>>> >>> There are two reasons: >>> >>> 1- I didn't know kpartx (thank you for the tip) >>> >>> but using loop device, you will be able to use all partition tables >>> known by the kernel (acorn, atari, efi, karma, mac, osf, sun, >>> ultrix, amiga, ibm, ldm, msdos, sgi, sysv68), whereas kpartx can use >>> only partition tables it knows (bsd, dasd, dos, mac, sun, efi, sun, >>> unixware). >>> >> This is an argument for extending kpartx to cope with the other >> partition tables :-) I have 50/50 split between VMs using files >> > > Good try... but IMHO, I think it is better to let the kernel decode the > partition table... > > >> vs VMs using LVM volumes - the loop driver patches only help you >> access partitions within a file based image, whereas kpartx can >> access the partitions within any block device, so can support >> files (via existing loop device) & LVM vols & nested partitions. >> > > I think you're wrong (but you seem to know the subject better than me, > so ...): you should be able to use the modified loop device on the > logical volume to decode partition table. > > >>> 2- I'd like to mount qcow2 or others disk image formats, so perhaps it's >>> easier to modify loop device driver (but perhaps you know another magic >>> tool ?) >>> >> There has been some work in this area wrt to Xen - the DM-Userspace project >> had some working code providing a device mapper target calling out to a >> userspace daemon to handle non-raw file formats like qcow. I don't >> know what the state of it is now wrt to upstream kernel / device-mapper, >> or even whether it is more than just 'proof of concept', but the project >> page is here with some info: >> >> http://wiki.xensource.com/xenwiki/DmUserspace FWIW, I still think a userspace block device is the Right Way to support these sort of things. dm-userspace turned out to be difficult as device mapper has some rather strict requirements about alignment that some formats (like qcow) cannot satisfy. The loop driver is a terrible base to start from as it does not preserve data integrity. Regards, Anthony Liguori >> It seems a very good idea, but what I don't like: >> - it seems very complex (like IBM guys like ;-) ) >> - it is one and a half year old >> >> To be honest, if something good already exists, I take it... >> >> Laurent >> > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > ------------------------------------------------------------------------ > > _______________________________________________ > kvm-devel mailing list > kvm-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/kvm-devel >