From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IJuUV-0003M2-LP for qemu-devel@nongnu.org; Sat, 11 Aug 2007 13:11:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IJuUU-0003Lq-2Z for qemu-devel@nongnu.org; Sat, 11 Aug 2007 13:11:06 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IJuUT-0003Ln-VQ for qemu-devel@nongnu.org; Sat, 11 Aug 2007 13:11:06 -0400 Received: from nf-out-0910.google.com ([64.233.182.186]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IJuUT-0007az-BA for qemu-devel@nongnu.org; Sat, 11 Aug 2007 13:11:05 -0400 Received: by nf-out-0910.google.com with SMTP id 30so364366nfu for ; Sat, 11 Aug 2007 10:11:04 -0700 (PDT) Message-ID: Date: Sat, 11 Aug 2007 19:11:04 +0200 From: "andrzej zaborowski" Subject: Re: [Qemu-devel] [PATCH 4/4][RFC] Add logic to QEMU to read command line options from qcow2 images In-Reply-To: <59abf66e0708081252of2948d7we85c9084bad245d4@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline References: <59abf66e0708081124g14901b01i841b70d17ae1e097@mail.gmail.com> <59abf66e0708081252of2948d7we85c9084bad245d4@mail.gmail.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org T24gMDgvMDgvMDcsIEpvcmdlIEx1Y8OhbmdlbGkgT2JlcyA8dDRtNXluQGdtYWlsLmNvbT4gd3Jv dGU6Cj4gVGhpcyBwYXRjaCBtYWtlcyBRRU1VIGNoZWNrIGZvciBjb21tYW5kIGxpbmUgb3B0aW9u cyBzdG9yZWQgaW4gcWNvdzIgaW1hZ2VzLgo+Cj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBWaXZp ZXIgPExhdXJlbnQuVml2aWVyQGJ1bGwubmV0Pgo+IFNpZ25lZC1vZmYtYnk6IEpvcmdlIEx1Y8Oh bmdlbGkgT2JlcyA8dDRtNXluQGdtYWlsLmNvbT4KPiAtLS0KPiBkaWZmIC0tZ2l0IGEvcWVtdS92 bC5jIGIvcWVtdS92bC5jCj4gaW5kZXggNGFkMzlmMS4uMWQyODc5NCAxMDA2NDQKPiAtLS0gYS9x ZW11L3ZsLmMKPiArKysgYi9xZW11L3ZsLmMKPiBAQCAtMTg0LDYgKzE4NCwxMSBAQCBpbnQgdGlt ZV9kcmlmdF9maXggPSAwOwo+ICBjb25zdCBjaGFyICpjcHVfdmVuZG9yX3N0cmluZzsKPgo+ICAv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCj4gKy8qIEltYWdlIGFubm90YXRpb24gc3VwcG9ydCAqLwo+ICsKPiArY2hhciAqaW1nX2dl dF9hbm5vdChjaGFyICpmaWxlbmFtZSk7Cj4gKwo+ICsvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4gIC8qIHg4NiBJU0EgYnVzIHN1 cHBvcnQgKi8KPgo+ICB0YXJnZXRfcGh5c19hZGRyX3QgaXNhX21lbV9iYXNlID0gMDsKPiBAQCAt NjkxNyw2ICs2OTIyLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKPiAgICAg IGNoYXIgdXNiX2RldmljZXNbTUFYX1VTQl9DTURMSU5FXVsxMjhdOwo+ICAgICAgaW50IHVzYl9k ZXZpY2VzX2luZGV4Owo+ICAgICAgaW50IGZkc1syXTsKPiArICAgIGNoYXIgKnRtcGFubm90Owo+ ICsgICAgY2hhciBhbm5vdFsxMDI0XTsKPiArICAgIGludCBkb25lID0gMDsKPiArICAgIHVuc2ln bmVkIGludCBuYnRva3MgPSAwOwo+ICsgICAgY2hhciAqdG9rOwo+ICsgICAgQmxvY2tEcml2ZXIg KmRydjsKPiArICAgIEJsb2NrRHJpdmVyU3RhdGUgKmJzOwo+Cj4gICAgICBzYXZlZF9hcmdjID0g YXJnYzsKPiAgICAgIHNhdmVkX2FyZ3YgPSBhcmd2Owo+IEBAIC03MDAwLDYgKzcwMTIsNTggQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+ICAgICAgbmJfbmljcyA9IDA7Cj4gICAg ICAvKiBkZWZhdWx0IG1hYyBhZGRyZXNzIG9mIHRoZSBmaXJzdCBuZXR3b3JrIGludGVyZmFjZSAq Lwo+Cj4gKyAgICBiZHJ2X2luaXQoKTsKPiArCj4gKyAgICBkcnYgPSBiZHJ2X2ZpbmRfZm9ybWF0 KCJxY293MiIpOwo+ICsKPiArICAgIGlmIChhcmdjID4gMSAmJiBhcmd2WzFdWzBdICE9ICctJykg ewo+ICsgICAgICAgIGJzID0gYmRydl9uZXcoIiIpOwo+ICsgICAgICAgIGlmICghYnMpIHsKPiAr ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJOb3QgZW5vdWdoIG1lbW9yeSIpOwo+ICsgICAg ICAgICAgICBleGl0KDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoYmRydl9vcGVuMihi cywgYXJndlsxXSwgMCwgZHJ2KSA8IDApIHsKPiArICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJDb3VsZCBub3Qgb3BlbiAnJXMnIiwgYXJndlsxXSk7Cj4gKyAgICAgICAgICAgIGJkcnZfZGVs ZXRlKGJzKTsKPiArICAgICAgICAgICAgZXhpdCgxKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAg ICAgIHRtcGFubm90ID0gYmRydl9nZXRfYW5ub3QoYnMsICJjb21tYW5kbGluZV9hcmdzIik7Cj4g KyAgICAgICAgaWYgKHRtcGFubm90KSB7Cj4gKyAgICAgICAgICAgIHBzdHJjcHkoYW5ub3QsIDEw MjQsIHRtcGFubm90KTsKCkkgdGhvdWdodCBvbmUgb2YgdGhlIGFyZ3VtZW50cyBmb3Igc3Rvcmlu ZyBjb25maWcgb3B0aW9ucyB3YXMgdGhlCmNvbW1hbmRsaW5lIGxlbmd0aCBsaW1pdCwgd2hpY2gg aXMgMzJrIG9yIHNvIGNoYXJhY3RlcnMgb24gbW9zdApzeXN0ZW1zLgoKPiArCj4gKyAgICAgICAg ICAgIGRvIHsKPiArICAgICAgICAgICAgICAgIHRvayA9IHN0cnRvayhuYnRva3MgPT0gMD8gdG1w YW5ub3QgOiBOVUxMLCAiICIpOwo+ICsKPiArICAgICAgICAgICAgICAgIGlmICh0b2sgIT0gTlVM TCkKPiArICAgICAgICAgICAgICAgICAgICBuYnRva3MrKzsKPiArICAgICAgICAgICAgICAgIGVs c2UKPiArICAgICAgICAgICAgICAgICAgICBkb25lID0gMTsKPiArICAgICAgICAgICAgfSB3aGls ZSAoIWRvbmUpOwo+ICsKPiArICAgICAgICAgICAgZnJlZSh0bXBhbm5vdCk7Cj4gKwo+ICsgICAg ICAgICAgICBpZiAobmJ0b2tzID4gMCkgewo+ICsgICAgICAgICAgICAgICAgY2hhciAqKmFyZ3Zw cmltZSA9IG1hbGxvYygobmJ0b2tzICsgYXJnYykgKiBzaXplb2YoY2hhciopKTsKPiArCj4gKyAg ICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKQo+ICsgICAgICAgICAgICAg ICAgICAgIGFyZ3ZwcmltZVtpXSA9IGFyZ3ZbaV07Cj4gKwo+ICsgICAgICAgICAgICAgICAgZm9y IChpID0gMDsgaSA8IG5idG9rczsgaSsrKQo+ICsgICAgICAgICAgICAgICAgICAgIGFyZ3Zwcmlt ZVtpICsgYXJnY10gPSBzdHJ0b2soaSA9PSAwPyBhbm5vdCA6IE5VTEwsICIgIik7Cj4gKwo+ICsg ICAgICAgICAgICAgICAgYXJndiA9IGFyZ3ZwcmltZTsKPiArICAgICAgICAgICAgICAgIGFyZ2Mg PSBhcmdjICsgbmJ0b2tzOwo+ICsKPiArICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBu YnRva3MgKyAyOyBpKyspCj4gKyAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJhcmd2WyVkXSA9 ICVzXG4iLCBpLCBhcmd2W2ldKTsKPiArCj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4g Kwo+ICsgICAgICAgIGJkcnZfZGVsZXRlKGJzKTsKPiArICAgIH0KPiArCj4gICAgICBvcHRpbmQg PSAxOwo+ICAgICAgZm9yKDs7KSB7Cj4gICAgICAgICAgaWYgKG9wdGluZCA+PSBhcmdjKQo+IEBA IC03NTU4LDcgKzc2MjIsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCj4gICNl bmRpZgo+Cj4gICAgICAvKiB3ZSBhbHdheXMgY3JlYXRlIHRoZSBjZHJvbSBkcml2ZSwgZXZlbiBp ZiBubyBkaXNrIGlzIHRoZXJlICovCj4gLSAgICBiZHJ2X2luaXQoKTsKPiAgICAgIGlmIChjZHJv bV9pbmRleCA+PSAwKSB7Cj4gICAgICAgICAgYnNfdGFibGVbY2Ryb21faW5kZXhdID0gYmRydl9u ZXcoImNkcm9tIik7Cj4gICAgICAgICAgYmRydl9zZXRfdHlwZV9oaW50KGJzX3RhYmxlW2Nkcm9t X2luZGV4XSwgQkRSVl9UWVBFX0NEUk9NKTsKPiBAQCAtNzc2NCw1ICs3ODI3LDggQEAgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+Cj4gICAgICBtYWluX2xvb3AoKTsKPiAgICAgIHF1 aXRfdGltZXJzKCk7Cj4gKwo+ICsgICAgLyogd2FzIHJlYXNzaWduZWQgYWJvdmUgc28gaXQgbmVl ZHMgZnJlZSgpaW5nICovCj4gKyAgICBmcmVlKGFyZ3YpOwo+ICAgICAgcmV0dXJuIDA7Cj4gIH0K Pgo+CgpZZXMsIHRoZSBmaWxlIGZvcm1hdCBzdGFydGluZyB3aXRoICIjISAvcGF0aC90by9xZW11 IiBpcyBhIG11Y2ggYmV0dGVyCmlkZWEsIGJ1dCB0aGUgY29tbWFuZGxpbmUgbGVuZ3RoIGxpbWl0 YXRpb24gaGFzIHRvIGJlIHRha2VuIGNhcmUgb2YKc2VwYXJhdGVseSwgcGVyaGFwcyB0aGUgc3dp dGNoZXMgc2hvdWxkIGZvbGxvdyBvbiBuZXh0IGxpbmVzIGluIHRoZQpmaWxlIHdoaWxlIHRoZSAj ISBsaW5lIHNob3VsZG4ndCBzcGVjaWZ5IHRoZSBzd2l0Y2hlcy4KClJlZ2FyZHMsCkFuZHJ6ZWog KGF3YXkgdW50aWwgbWlkLVNlcHRlbWJlcig/KSkK