From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: Re: [PATCH] reiserfs module for pygrub Date: Thu, 26 May 2005 06:57:53 +0900 Message-ID: <9cde8bff050525145715679e@mail.gmail.com> References: <1116904670.3439.28.camel@bree.local.net> <9cde8bff05052321156b0322b6@mail.gmail.com> <1116963274.3439.140.camel@bree.local.net> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6778_8089723.1117058273599" Return-path: In-Reply-To: <1116963274.3439.140.camel@bree.local.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jeremy Katz Cc: Ian Pratt , xen-devel List-Id: xen-devel@lists.xenproject.org ------=_Part_6778_8089723.1117058273599 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline hello, after some discussions with Ian and Jeremy, i put out the new patch for reiserfs module. please consider applying/rejecting. list of changes: - pygrub/README provides information on packages needed to compile pygrub - support reiserfs {2,3} filesystem - dynamically build modules based on which filesystem libraries the system has (proposed by Jeremy) - pump up pygrub to version 0.2 Signed-off-by: Jeremy Katz Signed-off-by: Nguyen Anh Quynh $ diffstat pygrub_reiserfs.patch=20 README | 16 + setup.py | 30 ++- src/fsys/reiser/__init__.py | 39 ++++ src/fsys/reiser/reisermodule.c | 345 ++++++++++++++++++++++++++++++++++++= +++++ 4 files changed, 420 insertions(+), 10 deletions(-) ------=_Part_6778_8089723.1117058273599 Content-Type: application/octet-stream; name="pygrub_reiserfs.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pygrub_reiserfs.patch" ZGlmZiAtTnVycCAtWCBkb250ZGlmZi54ZW4geGVuby10b2RheS90b29scy9weWdydWIvUkVBRE1F IHhlbm8tdW5zdGFibGUuMDUyNC90b29scy9weWdydWIvUkVBRE1FCi0tLSB4ZW5vLXRvZGF5L3Rv b2xzL3B5Z3J1Yi9SRUFETUUJMjAwNS0wNS0yNiAwNjozMTo0NS4wMDAwMDAwMDAgKzA5MDAKKysr IHhlbm8tdW5zdGFibGUuMDUyNC90b29scy9weWdydWIvUkVBRE1FCTIwMDUtMDUtMjYgMDU6NDE6 MzkuMDAwMDAwMDAwICswOTAwCkBAIC0xICsxLDE1IEBACi1Db21waWxpbmcgdGhpcyBuZWVkcyBS UE0gZTJmc3Byb2dzLWRldmVsIGluc3RhbGxlZC4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CitweWdydWIgaXMgYSBncnViLWxpa2UgYm9vdGxvYWRlciBmb3IgeGVuLiBUaGlzIHRvb2wgaXMg dG8gdXNlIHRvIGJvb3QgZG9tVSBpbWFnZXMuCisKK1RvIGNvbXBpbGUgcHlncnViLCB5b3Ugd2ls bCBuZWVkIHRoZSBmb2xsb3dpbmcgcGFja2FnZXMgaW5zdGFsbGVkOgorCisxKSBMaWJyYXJpZXMg b2YgZXh0MmZzLCB3aGljaCBpcyB0aGUgZm9sbG93aW5nIHBhY2thZ2UgKGRlcGVuZCBvbiB5b3Vy IExpbnV4IGRpc3RyaWJ1dGlvbik6CisJLSBlMmZzbGlicy1kZXYgb24gRGViaWFuIGJhc2VkIGRp c3RyaWJ1dGlvbnMgKERlYmlhbiwgVWJ1bnR1LCBMaW5zcGlyZSwgTGlicmFuZXQsIFhhbmRyb3Ms IGV0Yy4uLikKKwktIGUyZnNwcm9ncy1kZXZlbCBvbiBSZWRIYXQsIEZlZG9yYSBDb3JlCisJLSBs aWJleHQyZnMyLWRldmVsIG9uIE1hbmRyaXZhL01hbmRyYWtlCisJLSBlMmZzcHJvZ3Mgb24gR2Vu dG9vCisKKzIpIExpYnJhcmllcyBvZiByZWlzZXJmcywgd2hpY2ggaXMgdGhlIGZvbGxvd2luZyBw YWNrYWdlIChkZXBlbmQgb24geW91ciBMaW51eCBkaXN0cmlidXRpb24pOgorCS0gbGlicmVpc2Vy ZnMtZGV2IG9uIERlYmlhbiBiYXNlZCBkaXN0cmlidXRpb25zIChEZWJpYW4sIFVidW50dSwgWGFu ZHJvcywgTGlicmFuZXQsIFhhbmRyb3MsIGV0Yy4uLikKKwktIHByb2dzcmVpc2VyZnMtZGV2ZWwg b24gUmVkSGF0CisJLSBwcm9ncmVpc2VyZnMgb24gR2VudG9vCisKZGlmZiAtTnVycCAtWCBkb250 ZGlmZi54ZW4geGVuby10b2RheS90b29scy9weWdydWIvc2V0dXAucHkgeGVuby11bnN0YWJsZS4w NTI0L3Rvb2xzL3B5Z3J1Yi9zZXR1cC5weQotLS0geGVuby10b2RheS90b29scy9weWdydWIvc2V0 dXAucHkJMjAwNS0wNS0yNiAwNjozMTo0NS4wMDAwMDAwMDAgKzA5MDAKKysrIHhlbm8tdW5zdGFi bGUuMDUyNC90b29scy9weWdydWIvc2V0dXAucHkJMjAwNS0wNS0yNiAwNTo1OToxMi4wMDAwMDAw MDAgKzA5MDAKQEAgLTMsMTQgKzMsMjcgQEAgaW1wb3J0IG9zCiAKIGV4dHJhX2NvbXBpbGVfYXJn cyAgPSBbICItZm5vLXN0cmljdC1hbGlhc2luZyIsICItV2FsbCIsICItV2Vycm9yIiBdCiAKLSMg aW4gYSBwZXJmZWN0IHdvcmxkLCB3ZSdkIGZpZ3VyZSBvdXQgdGhlIGZzeXMgbW9kdWxlcyBkeW5h bWljYWxseQotZXh0MiA9IEV4dGVuc2lvbigiZ3J1Yi5mc3lzLmV4dDIuX3B5ZXh0MiIsCi0gICAg ICAgICAgICAgICAgIGV4dHJhX2NvbXBpbGVfYXJncyA9IGV4dHJhX2NvbXBpbGVfYXJncywKLSAg ICAgICAgICAgICAgICAgbGlicmFyaWVzID0gWyJleHQyZnMiXSwKLSAgICAgICAgICAgICAgICAg c291cmNlcyA9IFsic3JjL2ZzeXMvZXh0Mi9leHQybW9kdWxlLmMiXSkKK2ZzeXNfbW9kcyA9IFtd Citmc3lzX3BrZ3MgPSBbXQorCitpZiBvcy5wYXRoLmV4aXN0cygiL3Vzci9pbmNsdWRlL2V4dDJm cy9leHQyX2ZzLmgiKToKKyAgICBleHQyID0gRXh0ZW5zaW9uKCJncnViLmZzeXMuZXh0Mi5fcHll eHQyIiwKKyAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2NvbXBpbGVfYXJncyA9IGV4dHJhX2Nv bXBpbGVfYXJncywKKyAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcyA9IFsiZXh0MmZzIl0s CisgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzID0gWyJzcmMvZnN5cy9leHQyL2V4dDJtb2R1 bGUuYyJdKQorICAgIGZzeXNfbW9kcy5hcHBlbmQoZXh0MikKKyAgICBmc3lzX3BrZ3MuYXBwZW5k KCJncnViLmZzeXMuZXh0MiIpCisKK2lmIG9zLnBhdGguZXhpc3RzKCIvdXNyL2luY2x1ZGUvcmVp c2VyZnMvcmVpc2VyZnMuaCIpOgorICAgIHJlaXNlciA9IEV4dGVuc2lvbigiZ3J1Yi5mc3lzLnJl aXNlci5fcHlyZWlzZXIiLAorICAgICAgICAgICAgICAgICAgICAgZXh0cmFfY29tcGlsZV9hcmdz ID0gZXh0cmFfY29tcGlsZV9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzID0g WyJyZWlzZXJmcyJdLAorICAgICAgICAgICAgICAgICAgICAgc291cmNlcyA9IFsic3JjL2ZzeXMv cmVpc2VyL3JlaXNlcm1vZHVsZS5jIl0pCisgICAgZnN5c19tb2RzLmFwcGVuZChyZWlzZXIpCisg ICAgZnN5c19wa2dzLmFwcGVuZCgiZ3J1Yi5mc3lzLnJlaXNlciIpCiAKIHNldHVwKG5hbWU9J3B5 Z3J1YicsCi0gICAgICB2ZXJzaW9uPScwLjEnLAorICAgICAgdmVyc2lvbj0nMC4yJywKICAgICAg IGRlc2NyaXB0aW9uPSdCb290IGxvYWRlciB0aGF0IGxvb2tzIGEgbG90IGxpa2UgZ3J1YiBmb3Ig WGVuJywKICAgICAgIGF1dGhvcj0nSmVyZW15IEthdHonLAogICAgICAgYXV0aG9yX2VtYWlsPSdr YXR6akByZWRoYXQuY29tJywKQEAgLTE4LDggKzMxLDcgQEAgc2V0dXAobmFtZT0ncHlncnViJywK ICAgICAgIHBhY2thZ2VfZGlyPXsnZ3J1Yic6ICdzcmMnfSwKICAgICAgIHNjcmlwdHMgPSBbInNy Yy9weWdydWIiXSwKICAgICAgIHBhY2thZ2VzPVsnZ3J1YicsCi0gICAgICAgICAgICAgICAgJ2dy dWIuZnN5cycsCi0gICAgICAgICAgICAgICAgJ2dydWIuZnN5cy5leHQyJ10sCi0gICAgICBleHRf bW9kdWxlcyA9IFtleHQyXQorICAgICAgICAgICAgICAgICdncnViLmZzeXMnXS5leHRlbmQoZnN5 c19wa2dzKSwKKyAgICAgIGV4dF9tb2R1bGVzID0gZnN5c19tb2RzCiAgICAgICApCiAgICAgICAg ICAgICAgICAKZGlmZiAtTnVycCAtWCBkb250ZGlmZi54ZW4geGVuby10b2RheS90b29scy9weWdy dWIvc3JjL2ZzeXMvcmVpc2VyL19faW5pdF9fLnB5IHhlbm8tdW5zdGFibGUuMDUyNC90b29scy9w eWdydWIvc3JjL2ZzeXMvcmVpc2VyL19faW5pdF9fLnB5Ci0tLSB4ZW5vLXRvZGF5L3Rvb2xzL3B5 Z3J1Yi9zcmMvZnN5cy9yZWlzZXIvX19pbml0X18ucHkJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAw MDAwMDAgKzA5MDAKKysrIHhlbm8tdW5zdGFibGUuMDUyNC90b29scy9weWdydWIvc3JjL2ZzeXMv cmVpc2VyL19faW5pdF9fLnB5CTIwMDUtMDUtMjYgMDU6NDE6MDYuMDAwMDAwMDAwICswOTAwCkBA IC0wLDAgKzEsMzkgQEAKKyMgCisjIENvcHlyaWdodCAoQykgMjAwNSBOZ3V5ZW4gQW5oIFF1eW5o IDxhcXV5bmhAZ21haWwuY29tPgorIworIyBUaGlzIHNvZnR3YXJlIG1heSBiZSBmcmVlbHkgcmVk aXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorIyBnZW5lcmFsIHB1YmxpYyBs aWNlbnNlLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFz cyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyMKKworZnJvbSBncnViLmZzeXMgaW1w b3J0IHJlZ2lzdGVyX2ZzdHlwZSwgRmlsZVN5c3RlbVR5cGUKK2Zyb20gX3B5cmVpc2VyIGltcG9y dCAqCisKK2ltcG9ydCBvcworCitGU01BR0lDMiA9ICdSZUlzRXIyJworRlNNQUdJQzMgPSAnUmVJ c0VyMycKKworY2xhc3MgUmVpc2VyRmlsZVN5c3RlbVR5cGUoRmlsZVN5c3RlbVR5cGUpOgorICAg IGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgRmlsZVN5c3RlbVR5cGUuX19pbml0X18oc2Vs ZikKKyAgICAgICAgc2VsZi5uYW1lID0gInJlaXNlciIKKworICAgIGRlZiBzbmlmZl9tYWdpYyhz ZWxmLCBmbiwgb2Zmc2V0ID0gMCk6CisgICAgICAgIGZkID0gb3Mub3Blbihmbiwgb3MuT19SRE9O TFkpCisgICAgICAgIG9zLmxzZWVrKGZkLCAweDEwMDAwLCAwKQorICAgICAgICBidWYgPSBvcy5y ZWFkKGZkLCAweDQwKQorICAgICAgICBpZiBsZW4oYnVmKSA9PSAweDQwIGFuZCAoYnVmWzB4MzQ6 MHgzQl0gaW4gW0ZTTUFHSUMyLCBGU01BR0lDM10pIDoKKyAgICAgICAgICAgIHJldHVybiBUcnVl CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIG9wZW5fZnMoc2VsZiwgZm4sIG9mZnNl dCA9IDApOgorICAgICAgICBpZiBub3Qgc2VsZi5zbmlmZl9tYWdpYyhmbiwgb2Zmc2V0KToKKyAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IsICJOb3QgYSByZWlzZXJmcyBmaWxlc3lzdGVtIgor ICAgICAgICByZXR1cm4gUmVpc2VyRnMoZm4pCisKK3JlZ2lzdGVyX2ZzdHlwZShSZWlzZXJGaWxl U3lzdGVtVHlwZSgpKQorCmRpZmYgLU51cnAgLVggZG9udGRpZmYueGVuIHhlbm8tdG9kYXkvdG9v bHMvcHlncnViL3NyYy9mc3lzL3JlaXNlci9yZWlzZXJtb2R1bGUuYyB4ZW5vLXVuc3RhYmxlLjA1 MjQvdG9vbHMvcHlncnViL3NyYy9mc3lzL3JlaXNlci9yZWlzZXJtb2R1bGUuYwotLS0geGVuby10 b2RheS90b29scy9weWdydWIvc3JjL2ZzeXMvcmVpc2VyL3JlaXNlcm1vZHVsZS5jCTE5NzAtMDEt MDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyB4ZW5vLXVuc3RhYmxlLjA1MjQvdG9vbHMv cHlncnViL3NyYy9mc3lzL3JlaXNlci9yZWlzZXJtb2R1bGUuYwkyMDA1LTA1LTI2IDA1OjQxOjA2 LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsxLDM0NSBAQAorLyoKKyAqIHJlaXNlcm1vZHVsZS5j IC0gc2ltcGxlIHB5dGhvbiBiaW5kaW5nIGZvciBsaWJyZWlzZXJmc3syLDN9CisgKgorICogQ29w eXJpZ2h0IChDKSAyMDA1IE5ndXllbiBBbmggUXV5bmggPGFxdXluaEBnbWFpbC5jb20+CisgKgor ICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgZnJlZWx5IHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUKKyAqIGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKgorICogWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl IFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwg TUEgMDIxMzksIFVTQS4KKyAqLworCisjaW5jbHVkZSA8UHl0aG9uLmg+CisKKyNpbmNsdWRlIDxm Y250bC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNs dWRlIDxkYWwvZmlsZV9kYWwuaD4KKyNpbmNsdWRlIDxyZWlzZXJmcy9yZWlzZXJmcy5oPgorCisj aWYgKFBZVEhPTl9BUElfVkVSU0lPTiA+PSAxMDExKQorI2RlZmluZSBQWV9QQUQgMEwsMEwsMEws MEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEws MEwsMEwKKyNlbHNlCisjZGVmaW5lIFBZX1BBRCAwTCwwTCwwTCwwTAorI2VuZGlmCisKKworLyog Z2xvYmFsIGVycm9yIG9iamVjdCAqLworUHlPYmplY3QgKlJlaXNlckVycm9yOworCit0eXBlZGVm IHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHJlaXNlcmZzX2ZzX3QgKmZzOworCWRh bF90ICpkYWw7Cit9IFJlaXNlckZzOworCit0eXBlZGVmIHN0cnVjdCBfUmVpc2VyRmlsZSBSZWlz ZXJGaWxlOworc3RydWN0IF9SZWlzZXJGaWxlIHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgcmVp c2VyZnNfZmlsZV90ICpmaWxlOworfTsKKwordm9pZCBmaWxlX2RhbF9jbG9zZShkYWxfdCAqZGFs KSB7CisKKwlpZiAoIWRhbCkgcmV0dXJuOworCisJY2xvc2UoKGludClkYWwtPmRldik7CisJZGFs X2ZyZWUoZGFsKTsKK30KKworLyogcmVpc2VyIGZpbGUgb2JqZWN0ICovCisKK3N0YXRpYyBQeU9i amVjdCAqCityZWlzZXJfZmlsZV9jbG9zZSAoUmVpc2VyRmlsZSAqZmlsZSwgUHlPYmplY3QgKmFy Z3MpCit7CisgICAgaWYgKGZpbGUtPmZpbGUgIT0gTlVMTCkKKwl7CisgICAgICAgIHJlaXNlcmZz X2ZpbGVfY2xvc2UoZmlsZS0+ZmlsZSk7CisJCWZpbGUtPmZpbGUgPSBOVUxMOworCX0KKyAgICBQ eV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmV0dXJuIFB5X05vbmU7Cit9CisKK3N0YXRpYyBQeU9i amVjdCAqCityZWlzZXJfZmlsZV9yZWFkIChSZWlzZXJGaWxlICpmaWxlLCBQeU9iamVjdCAqYXJn cykKK3sKKyAgICBpbnQgc2l6ZSA9IDA7CisgICAgc2l6ZV90IG4sIHRvdGFsID0gMDsKKyAgICBQ eU9iamVjdCAqIGJ1ZmZlciA9IE5VTEw7CisKKyAgICBpZiAoZmlsZS0+ZmlsZSA9PSBOVUxMKSB7 CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ2Fubm90IHJlYWQg ZnJvbSBjbG9zZWQgZmlsZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBp ZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpIiwgJnNpemUpKQorICAgICAgICByZXR1cm4g TlVMTDsKKworICAgIGJ1ZmZlciA9IFB5U3RyaW5nX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICop IE5VTEwsIChzaXplKSA/IHNpemUgOiA0MDk2KTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisg ICAgICAgIHJldHVybiBidWZmZXI7CisgCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgbiA9IHJl aXNlcmZzX2ZpbGVfcmVhZChmaWxlLT5maWxlLCBQeVN0cmluZ19BU19TVFJJTkcoYnVmZmVyKSAr IHRvdGFsLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZSkgPyBzaXplIDog NDA5Nik7CisgICAgICAgIGlmIChuID09IDApCisgICAgICAgICAgICBicmVhazsKKworICAgICAg ICB0b3RhbCArPSBuOworCisgICAgICAgIGlmIChzaXplICYmIHNpemUgPT0gdG90YWwpCisgICAg ICAgICAgICBicmVhazsKKworICAgICAgICBpZiAoIXNpemUpIHsKKyAgICAgICAgICAgIF9QeVN0 cmluZ19SZXNpemUoJmJ1ZmZlciwgdG90YWwgKyA0MDk2KTsKKyAgICAgICAgfQorICAgIH0KKwor ICAgIF9QeVN0cmluZ19SZXNpemUoJmJ1ZmZlciwgdG90YWwpOworICAgIHJldHVybiBidWZmZXI7 Cit9CisKK3N0YXRpYyB2b2lkCityZWlzZXJfZmlsZV9kZWFsbG9jIChSZWlzZXJGaWxlICogZmls ZSkKK3sKKyAgICBpZiAoZmlsZS0+ZmlsZSAhPSBOVUxMKSB7CisgICAgICAgIHJlaXNlcmZzX2Zp bGVfY2xvc2UoZmlsZS0+ZmlsZSk7CisJCWZpbGUtPmZpbGUgPSBOVUxMOworCX0KKwlQeU9iamVj dF9ERUwoZmlsZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgUmVpc2VyRmlsZU1l dGhvZHNbXSA9IHsKKwl7ICJjbG9zZSIsIChQeUNGdW5jdGlvbikgcmVpc2VyX2ZpbGVfY2xvc2Us IE1FVEhfVkFSQVJHUywgTlVMTCB9LAorCXsgInJlYWQiLCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9m aWxlX3JlYWQsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorCXsgTlVMTCwgTlVMTCwgMCwgTlVMTCB9 CQorfTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3JlaXNlcl9maWxlX2dldGF0dHIgKFJlaXNlckZp bGUgKiBmaWxlLCBjaGFyICogbmFtZSkKK3sKKwlyZXR1cm4gUHlfRmluZE1ldGhvZCAoUmVpc2Vy RmlsZU1ldGhvZHMsIChQeU9iamVjdCAqKSBmaWxlLCBuYW1lKTsKK30KKworc3RhdGljIGNoYXIg UmVpc2VyRmlsZVR5cGVfX2RvY19fW10gPSAiVGhpcyBpcyB0aGUgcmVpc2VyIGZpbGVzeXN0ZW0g b2JqZWN0IjsKK1B5VHlwZU9iamVjdCBSZWlzZXJGaWxlVHlwZSA9IHsKKwlQeU9iamVjdF9IRUFE X0lOSVQoJlB5VHlwZV9UeXBlKQorCTAsCQkJCS8qIG9iX3NpemUgKi8KKwkiUmVpc2VyRmlsZSIs CQkJLyogdHBfbmFtZSAqLworCXNpemVvZihSZWlzZXJGaWxlKSwJCS8qIHRwX3NpemUgKi8KKwkw LAkJCQkvKiB0cF9pdGVtc2l6ZSAqLworCShkZXN0cnVjdG9yKSByZWlzZXJfZmlsZV9kZWFsbG9j LCAJLyogdHBfZGVhbGxvYyAqLworCTAsCQkJCS8qIHRwX3ByaW50ICovCisJKGdldGF0dHJmdW5j KSByZWlzZXJfZmlsZV9nZXRhdHRyLCAJLyogdHBfZ2V0YXR0ciAqLworCTAsCQkJCS8qIHRwX3Nl dGF0dHIgKi8KKwkwLAkJCQkvKiB0cF9jb21wYXJlICovCisJMCwJCQkJLyogdHBfcmVwciAqLwor CTAsCQkJCS8qIHRwX2FzX251bWJlciAqLworCTAsCSAJCQkvKiB0cF9hc19zZXF1ZW5jZSAqLwor CTAsCQkJCS8qIHRwX2FzX21hcHBpbmcgKi8KKwkwLCAgICAgICAgICAgCS8qIHRwX2hhc2ggKi8K KwkwLCAgICAgICAgICAgICAJLyogdHBfY2FsbCAqLworCTAsICAgICAgICAgICAgIAkvKiB0cF9z dHIgKi8KKwkwLAkJCQkvKiB0cF9nZXRhdHRybyAqLworCTAsCQkJCS8qIHRwX3NldGF0dHJvICov CisJMCwJCQkJLyogdHBfYXNfYnVmZmVyICovCisJUHlfVFBGTEFHU19ERUZBVUxULAkgICAgICAg CQkvKiB0cF9mbGFncyAqLworCVJlaXNlckZpbGVUeXBlX19kb2NfXywKKwlQWV9QQUQKK307CisK K3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZmlsZV9vcGVuIChSZWlzZXJGcyAqZnMsIGNoYXIg Km5hbWUsIGludCBmbGFncykKK3sKKyAgICBSZWlzZXJGaWxlICpmaWxlOworICAgIHJlaXNlcmZz X2ZpbGVfdCAqZjsKKworICAgIGZpbGUgPSAoUmVpc2VyRmlsZSAqKSBQeU9iamVjdF9ORVcoUmVp c2VyRmlsZSwgJlJlaXNlckZpbGVUeXBlKTsKKworICAgIGYgPSByZWlzZXJmc19maWxlX29wZW4o ZnMtPmZzLCBuYW1lLCBmbGFncyk7CisgICAgZmlsZS0+ZmlsZSA9IGY7CisgICAgCisgICAgaWYg KCFmKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAidW5hYmxl IHRvIG9wZW4gZmlsZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1 cm4gKFB5T2JqZWN0ICopIGZpbGU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZmls ZV9leGlzdCAoUmVpc2VyRnMgKmZzLCBjaGFyICpuYW1lKQoreworICAgIHJlaXNlcmZzX2ZpbGVf dCAqZjsKKworICAgIGYgPSByZWlzZXJmc19maWxlX29wZW4oZnMtPmZzLCBuYW1lLCBPX1JET05M WSk7CisKKwlpZiAoIWYpIHsKKwkJUHlfSU5DUkVGKFB5X0ZhbHNlKTsKKwkJcmV0dXJuIFB5X0Zh bHNlOworCX0KKwlyZWlzZXJmc19maWxlX2Nsb3NlKGYpOworICAgIFB5X0lOQ1JFRihQeV9UcnVl KTsKKyAgICByZXR1cm4gUHlfVHJ1ZTsKK30KKworLyogcmVpc2VyZnMgb2JqZWN0ICovCisKK3N0 YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZnNfY2xvc2UgKFJlaXNlckZzICpmcywgUHlPYmplY3Qg KmFyZ3MpCit7CisgICAgaWYgKGZzLT5mcyAhPSBOVUxMKQorICAgIHsKKyAgICAgICAgcmVpc2Vy ZnNfZnNfY2xvc2UoZnMtPmZzKTsKKyAgICAgICAgZmlsZV9kYWxfY2xvc2UoZnMtPmRhbCk7CisJ CWZzLT5mcyA9IE5VTEw7CisgICAgfQorICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1 cm4gUHlfTm9uZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3JlaXNlcl9mc19vcGVuIChSZWlz ZXJGcyAqZnMsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGNoYXIgKm5hbWU7CisJc2l6ZV90IGJs b2NrX3NpemUgPSBERUZBVUxUX0JMT0NLX1NJWkU7CisgICAgZGFsX3QgKmRhbDsKKyAgICByZWlz ZXJmc19mc190ICpyZnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInN8aSIs ICZuYW1lLCAmYmxvY2tfc2l6ZSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGZz LT5mcyAhPSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9y LCAiYWxyZWFkeSBoYXZlIGFuIGZzIG9iamVjdCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAg ICB9CisKKyAgICBpZiAoIShkYWwgPSBmaWxlX2RhbF9vcGVuKG5hbWUsIGJsb2NrX3NpemUsIE9f UkRPTkxZKSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJD b3VsZG4ndCBjcmVhdGUgZGV2aWNlIGFic3RyYWN0aW9uIik7CisgICAgICAgIHJldHVybiBOVUxM OyAgICAKKyAgICB9CisgICAgCisgICAgaWYgKCEocmZzID0gcmVpc2VyZnNfZnNfb3Blbl9mYXN0 KGRhbCwgZGFsKSkpIHsKKwkJZmlsZV9kYWxfY2xvc2UoZGFsKTsKKyAgICAgICAgUHlFcnJfU2V0 U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ1bmFibGUgdG8gb3BlbiBmaWxlIik7CisgICAgICAg IHJldHVybiBOVUxMOworICAgIH0KKyAgICAKKyAgICBmcy0+ZnMgPSByZnM7CisJZnMtPmRhbCA9 IGRhbDsKKworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4gUHlfTm9uZTsKK30K Kworc3RhdGljIFB5T2JqZWN0ICoKK3JlaXNlcl9mc19vcGVuX2ZpbGUgKFJlaXNlckZzICpmcywg UHlPYmplY3QgKmFyZ3MpCit7CisgICAgY2hhciAqbmFtZTsKKyAgICBpbnQgZmxhZ3MgPSAwOwor CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzfGkiLCAmbmFtZSwgJmZsYWdzKSkK KwkJcmV0dXJuIE5VTEw7CisKKyAgICByZXR1cm4gcmVpc2VyX2ZpbGVfb3BlbihmcywgbmFtZSwg ZmxhZ3MpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcmVpc2VyX2ZzX2ZpbGVfZXhpc3QgKFJl aXNlckZzICpmcywgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgY2hhciAqIG5hbWU7CisKKyAgICBp ZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInMiLCAmbmFtZSkpCisgICAgICAgIHJldHVybiBO VUxMOworCisgICAgcmV0dXJuIHJlaXNlcl9maWxlX2V4aXN0KGZzLCBuYW1lKTsKK30KKworc3Rh dGljIHZvaWQKK3JlaXNlcl9mc19kZWFsbG9jIChSZWlzZXJGcyAqIGZzKQoreworICAgIGlmIChm cy0+ZnMgIT0gTlVMTCkKKwl7CisgICAgICAgIHJlaXNlcmZzX2ZzX2Nsb3NlKGZzLT5mcyk7CisJ CWZpbGVfZGFsX2Nsb3NlKGZzLT5kYWwpOworCQlmcy0+ZnMgPSBOVUxMOworCX0KKwlQeU9iamVj dF9ERUwoZnMpOworfQorCitzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIFJlaXNlckZzTWV0aG9k c1tdID0geworCXsgImNsb3NlIiwgKFB5Q0Z1bmN0aW9uKSByZWlzZXJfZnNfY2xvc2UsIE1FVEhf VkFSQVJHUywgTlVMTCB9LAorCXsgIm9wZW4iLCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9mc19vcGVu LCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSwKKwl7ICJvcGVuX2ZpbGUiLCAoUHlDRnVuY3Rpb24pIHJl aXNlcl9mc19vcGVuX2ZpbGUsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorCXsgImZpbGVfZXhpc3Qi LCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9mc19maWxlX2V4aXN0LCBNRVRIX1ZBUkFSR1MsIE5VTEwg fSwKKwl7IE5VTEwsIE5VTEwsIDAsIE5VTEwgfQkKK307CisKK3N0YXRpYyBQeU9iamVjdCAqCity ZWlzZXJfZnNfZ2V0YXR0ciAoUmVpc2VyRnMgKiBmcywgY2hhciAqIG5hbWUpCit7CisgICAgICAg IHJldHVybiBQeV9GaW5kTWV0aG9kIChSZWlzZXJGc01ldGhvZHMsIChQeU9iamVjdCAqKSBmcywg bmFtZSk7Cit9CisKK3N0YXRpYyBjaGFyIFJlaXNlckZzVHlwZV9fZG9jX19bXSA9ICJUaGlzIGlz IHRoZSByZWlzZXIgZmlsZXN5c3RlbSBvYmplY3QiOworCitQeVR5cGVPYmplY3QgUmVpc2VyRnNU eXBlID0geworCVB5T2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUpCisJMCwJCQkJLyogb2Jf c2l6ZSAqLworCSJSZWlzZXJGcyIsCQkvKiB0cF9uYW1lICovCisJc2l6ZW9mKFJlaXNlckZzKSwJ CS8qIHRwX3NpemUgKi8KKwkwLAkJCQkvKiB0cF9pdGVtc2l6ZSAqLworCShkZXN0cnVjdG9yKSBy ZWlzZXJfZnNfZGVhbGxvYywgCS8qIHRwX2RlYWxsb2MgKi8KKwkwLAkJCQkvKiB0cF9wcmludCAq LworCShnZXRhdHRyZnVuYykgcmVpc2VyX2ZzX2dldGF0dHIsIAkvKiB0cF9nZXRhdHRyICovCisJ MCwJCQkJLyogdHBfc2V0YXR0ciAqLworCTAsCQkJCS8qIHRwX2NvbXBhcmUgKi8KKwkwLAkJCQkv KiB0cF9yZXByICovCisJMCwJCQkJLyogdHBfYXNfbnVtYmVyICovCisJMCwJIAkJCS8qIHRwX2Fz X3NlcXVlbmNlICovCisJMCwJCQkJLyogdHBfYXNfbWFwcGluZyAqLworCTAsICAgICAgICAgICAJ LyogdHBfaGFzaCAqLworCTAsICAgICAgICAgICAgIAkvKiB0cF9jYWxsICovCisJMCwgICAgICAg ICAgICAgCS8qIHRwX3N0ciAqLworCTAsCQkJCS8qIHRwX2dldGF0dHJvICovCisJMCwJCQkJLyog dHBfc2V0YXR0cm8gKi8KKwkwLAkJCQkvKiB0cF9hc19idWZmZXIgKi8KKwlQeV9UUEZMQUdTX0RF RkFVTFQsCQkJLyogdHBfZmxhZ3MgKi8KKwlSZWlzZXJGc1R5cGVfX2RvY19fLAorCVBZX1BBRAor fTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3JlaXNlcl9mc19uZXcoUHlPYmplY3QgKm8sIFB5T2Jq ZWN0ICphcmdzKSAKK3sKKyAgICBjaGFyICpuYW1lOworCXNpemVfdCBibG9ja19zaXplID0gREVG QVVMVF9CTE9DS19TSVpFOworICAgIFJlaXNlckZzICpwZnM7CisgICAgCisgICAgaWYgKCFQeUFy Z19QYXJzZVR1cGxlKGFyZ3MsICJzfGkiLCAmbmFtZSwgJmJsb2NrX3NpemUpKQorICAgICAgICBy ZXR1cm4gTlVMTDsKKyAgICAKKyAgICBwZnMgPSAoUmVpc2VyRnMgKikgUHlPYmplY3RfTkVXKFJl aXNlckZzLCAmUmVpc2VyRnNUeXBlKTsKKyAgICBpZiAocGZzID09IE5VTEwpCisgICAgICAgIHJl dHVybiBOVUxMOworCisgICAgcGZzLT5mcyA9IE5VTEw7CisgICAgCisgICAgaWYgKCFyZWlzZXJf ZnNfb3BlbihwZnMsIFB5X0J1aWxkVmFsdWUoInNpIiwgbmFtZSwgYmxvY2tfc2l6ZSkpKQorICAg ICAgICByZXR1cm4gTlVMTDsKKyAgICAKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcGZzOworfQor CitzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIFJlaXNlck1vZHVsZU1ldGhvZHNbXSA9IHsKKyAg ICB7ICJSZWlzZXJGcyIsIChQeUNGdW5jdGlvbikgcmVpc2VyX2ZzX25ldywgTUVUSF9WQVJBUkdT fSwKKyAgICB7IE5VTEwsIE5VTEwsIDB9Cit9OworCit2b2lkIGluaXRfcHlyZWlzZXIodm9pZCkg eworICAgIFB5X0luaXRNb2R1bGUoIl9weXJlaXNlciIsIFJlaXNlck1vZHVsZU1ldGhvZHMpOwor fQo= ------=_Part_6778_8089723.1117058273599 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=_Part_6778_8089723.1117058273599--