From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [Qemu-devel] Making qemu images executable (and store command line arguments in them =P) Date: Fri, 17 Aug 2007 15:40:58 +0300 Message-ID: <46C5975A.6070906@qumranet.com> References: <21867471.1187283941478.JavaMail.root@eastrmwml26.mgt.cox.net> 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: sol10x86-j9pdmedNgrk@public.gmane.org Return-path: In-Reply-To: <21867471.1187283941478.JavaMail.root-Fl5e2thpha4zbC/FaE+QG4/aXZnnTYK5@public.gmane.org> 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 QmVuIFRheWxvciB3cm90ZToKPiAtLS0tICJKb3JnZSBMdWPDoW5nZWxpIE9iZXMiIDx0NG01eW5A Z21haWwuY29tPiB3cm90ZTogCj4gICAKPj4gSSd2ZSBiZWVuIGdpdmluZyBzb21lIHRob3VnaHQg dG8gQW50aG9ueSdzIGlkZWE6Cj4+Cj4+IGh0dHA6Ly9rdm0ucXVtcmFuZXQuY29tL2t2bXdpa2kv U3BlY3MvU3RvcmluZ0NvbW1hbmRMaW5lSW5JbWFnZQo+Pgo+PiBIb3dldmVyLCBtYXliZSBJJ20g anVzdCB0b28gbXVjaCBvbiB2YWNhdGlvbnMsIGJ1dCBJIGRvbid0IHNlZW0gdG8KPj4gY29tZSB1 cCB3aXRoIGEgbmljZSB3YXkgb2YgZG9pbmcgdGhpcy4gRXZlcnl0aGluZyBrZWVwcyBjb21pbmcg YmFjayB0bwo+PiBjcmVhdGluZyBhIG5ldyAnY29udGFpbmVyJyBpbWFnZSBmb3JtYXQgYW5kIHRo ZW4gaW1wbGVtZW50aW5nIGJsb2NrCj4+IGxheWVyIGZ1bmN0aW9ucyB0aGF0IG9ubHkgYWRkIHRo ZSBudW1iZXIgb2Ygc2VjdG9ycyBvY2N1cGllZCBieSB0aGUKPj4gY29tbWFuZC1saW5lIHRvIHRo ZSByZWFkIGFuZCB3cml0ZSBjYWxscyBtYWRlIGJ5IFFFTVUsIGFuZCB0aGVuIGp1c3QKPj4gcmVs YXkgdGhvc2UgY2FsbHMgdG8gdGhlIGltYWdlLXNwZWNpZmljIGZ1bmN0aW9ucy4gVGhhdCBkb2Vz bid0IHNvdW5kCj4+IHZlcnkgZWZmaWNpZW50Lgo+PiAgICAgCj4KPiBObywgYW5kIGl0IGZ1bmRh bWVudGFsbHkgYnJlYWtzIHVzaW5nIGEgcmVhbCBkaXNrIHdpdGggUUVNVS4KPgo+ICAgCgpXaHk/ ICBJdCdzIG9wdGlvbmFsLgoKPj4gVGhlICcjIScgdHJpY2sgd29ya3MgbmljZSB3aXRoIHNjcmlw dHMsIGJ1dCBJIGRvbid0IHNlZSBpdCBwbGF5aW5nCj4+IHZlcnkgd2VsbCB3aXRoIGltYWdlcy4g wr9Db21tZW50cz8gwr9Qb2ludGVycz8KPj4gICAgIAo+Cj4gUGVyc29uYWxseSwgSSdtIG5vdCBz dXJlIHdoeSB3ZSB3b3VsZG4ndCBqdXN0IHdyaXRlIG91dCB0aGUgY29tbWFuZCBsaW5lCj4gZGF0 YSB0byBhIGZpbGUgdGllZCB0byB0aGUgcHJpbWFyeSBpbWFnZSBmaWxlLCB3aXRoIHNvbWUga2lu ZCBvZiB0aW1lIHN0YW1wCj4gdG8gY29ycmVsYXRlIHRoZSBkYXRhIGZyb20gdGhlIGNvbW1hbmQg bGluZSBhbmQgdGhlIGxhc3QgdXBkYXRlZCB0aW1lCj4gb2YgdGhlIHByaW1hcnkgaW1hZ2UgZmls ZS4gIEl0J3MgaW50dWl0aXZlLCBhbmQgZG9lc24ndCByZXF1aXJlIGEgYnVja2V0IG9mCj4gcHJv Z3JhbW1pbmcgdG8gbWFrZSB3b3JrLiAgVGhlIGRvd24gc2lkZSBpcyBpZiBxZW11IGNyYXNoZXMs IHRoZQo+IHRpbWUgc3RhbXAgYmV0d2VlbiB0aGUgcGFyYW1ldGVyIGZpbGUgYW5kIHRoZSBpbWFn ZSBmaWxlIG1heSBpbmRpY2F0ZQo+IHRoZSBwb3RlbnRpYWwgZm9yICJkaWZmZXJlbmNlIiwgYnV0 IHRoaXMgY2FuIGp1c3QgYmUgYSBub3RpY2UgKGp1c3QgYXMgc25hcHNob3RzCj4gdXNlZCB0byBk byB3aXRoIHRoZSBpbWFnZSBmaWxlcyBpbiAwLjcueCkKPiAgIAoKSXQncyBub3QgZWFzeSB0byB1 c2U6IGlmIHlvdSBtb3ZlIHRoZSBpbWFnZSwgeW91IG5lZWQgdG8gbW92ZSB0aGUgZmlsZS4gCkkn ZCBsaWtlIHRvIGhhdmUgZXhhY3RseSBvbmUgZW50aXR5IHRvIHdvcnJ5IGFib3V0IHdoZW4gdXNp bmcgYSB2aXJ0dWFsCm1hY2hpbmUuCgotLSAKRG8gbm90IG1lZGRsZSBpbiB0aGUgaW50ZXJuYWxz IG9mIGtlcm5lbHMsIGZvciB0aGV5IGFyZSBzdWJ0bGUgYW5kIHF1aWNrIHRvIHBhbmljLgoKCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTcGx1bmsg SW5jLgpTdGlsbCBncmVwcGluZyB0aHJvdWdoIGxvZyBmaWxlcyB0byBmaW5kIHByb2JsZW1zPyAg U3RvcC4KTm93IFNlYXJjaCBsb2cgZXZlbnRzIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzIHVzaW5n IEFKQVggYW5kIGEgYnJvd3Nlci4KRG93bmxvYWQgeW91ciBGUkVFIGNvcHkgb2YgU3BsdW5rIG5v dyA+PiAgaHR0cDovL2dldC5zcGx1bmsuY29tLwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwprdm0tZGV2ZWwgbWFpbGluZyBsaXN0Cmt2bS1kZXZlbEBsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlz dGluZm8va3ZtLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IM18a-0003j8-II for qemu-devel@nongnu.org; Fri, 17 Aug 2007 08:41:12 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IM18X-0003b2-Kl for qemu-devel@nongnu.org; Fri, 17 Aug 2007 08:41:11 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IM18X-0003an-BD for qemu-devel@nongnu.org; Fri, 17 Aug 2007 08:41:09 -0400 Received: from il.qumranet.com ([82.166.9.18]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IM18V-00057T-GS for qemu-devel@nongnu.org; Fri, 17 Aug 2007 08:41:09 -0400 Message-ID: <46C5975A.6070906@qumranet.com> Date: Fri, 17 Aug 2007 15:40:58 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [kvm-devel] [Qemu-devel] Making qemu images executable (and store command line arguments in them =P) References: <21867471.1187283941478.JavaMail.root@eastrmwml26.mgt.cox.net> In-Reply-To: <21867471.1187283941478.JavaMail.root@eastrmwml26.mgt.cox.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sol10x86@cox.net Cc: kvm-devel@lists.sourceforge.net, qemu-devel@nongnu.org Ben Taylor wrote: > ---- "Jorge Luc=C3=A1ngeli Obes" wrote:=20 > =20 >> I've been giving some thought to Anthony's idea: >> >> http://kvm.qumranet.com/kvmwiki/Specs/StoringCommandLineInImage >> >> However, maybe I'm just too much on vacations, but I don't seem to >> come up with a nice way of doing this. Everything keeps coming back to >> creating a new 'container' image format and then implementing block >> layer functions that only add the number of sectors occupied by the >> command-line to the read and write calls made by QEMU, and then just >> relay those calls to the image-specific functions. That doesn't sound >> very efficient. >> =20 > > No, and it fundamentally breaks using a real disk with QEMU. > > =20 Why? It's optional. >> The '#!' trick works nice with scripts, but I don't see it playing >> very well with images. =C2=BFComments? =C2=BFPointers? >> =20 > > Personally, I'm not sure why we wouldn't just write out the command lin= e > data to a file tied to the primary image file, with some kind of time s= tamp > to correlate the data from the command line and the last updated time > of the primary image file. It's intuitive, and doesn't require a bucke= t of > programming to make work. The down side is if qemu crashes, the > time stamp between the parameter file and the image file may indicate > the potential for "difference", but this can just be a notice (just as = snapshots > used to do with the image files in 0.7.x) > =20 It's not easy to use: if you move the image, you need to move the file.=20 I'd like to have exactly one entity to worry about when using a virtual machine. --=20 Do not meddle in the internals of kernels, for they are subtle and quick = to panic.