From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: [PATCH] reiserfs module for pygrub Date: Thu, 19 May 2005 03:46:46 +0900 Message-ID: <9cde8bff05051811467370e329@mail.gmail.com> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2311_5459269.1116442006598" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel , Jeremy Katz List-Id: xen-devel@lists.xenproject.org ------=_Part_2311_5459269.1116442006598 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline hello, here is a patch to add reiserfs (version 2,3) support to pygrub in -unstable (against cset 1.1434) list of changes: - update tools/pygrub/README about packages needed to compile pygrub - tools/pygrub/setup.py to support reiserfs module - toolspygrub/src/fsys/reiserfs/ directory with 2 files __init__.py and reisermodule.c to provide reiserfs support to pygrub. Signed-off-by: Nguyen Anh Quynh $ diffstat reiser_pygrub.patch=20 README | 16 + setup.py | 10 - src/fsys/reiser/__init__.py | 39 ++++ src/fsys/reiser/reisermodule.c | 345 ++++++++++++++++++++++++++++++++++++= +++++ 4 files changed, 407 insertions(+), 3 deletions(-) --=20 regards, aq ------=_Part_2311_5459269.1116442006598 Content-Type: application/octet-stream; name="reiser_pygrub.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="reiser_pygrub.patch" PT09PT0gdG9vbHMvcHlncnViL1JFQURNRSAxLjEgdnMgZWRpdGVkID09PT09Ci0tLSAxLjEvdG9v bHMvcHlncnViL1JFQURNRQkyMDA1LTA0LTI4IDIyOjAyOjM2ICswOTowMAorKysgZWRpdGVkL3Rv b2xzL3B5Z3J1Yi9SRUFETUUJMjAwNS0wNS0xOCAwMTo0Nzo0MSArMDk6MDAKQEAgLTEgKzEsMTUg QEAKLUNvbXBpbGluZyB0aGlzIG5lZWRzIFJQTSBlMmZzcHJvZ3MtZGV2ZWwgaW5zdGFsbGVkLgpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3B5Z3J1YiBpcyBhIGdydWItbGlrZSBib290bG9h ZGVyIGZvciB4ZW4uIFRoaXMgdG9vbCBpcyB0byB1c2UgdG8gYm9vdCBkb21VIGltYWdlcy4KKwor VG8gY29tcGlsZSBweWdydWIsIHlvdSB3aWxsIG5lZWQgdGhlIGZvbGxvd2luZyBwYWNrYWdlcyBp bnN0YWxsZWQ6CisKKzEpIExpYnJhcmllcyBvZiBleHQyZnMsIHdoaWNoIGlzIHRoZSBmb2xsb3dp bmcgcGFja2FnZSAoZGVwZW5kIG9uIHlvdXIgTGludXggZGlzdHJpYnV0aW9uKToKKwktIGUyZnNs aWJzLWRldiBvbiBEZWJpYW4gYmFzZWQgZGlzdHJpYnV0aW9ucyAoRGViaWFuLCBVYnVudHUsIExp bnNwaXJlLCBMaWJyYW5ldCwgWGFuZHJvcywgZXRjLi4uKQorCS0gZTJmc3Byb2dzLWRldmVsIG9u IFJlZEhhdCwgRmVkb3JhIENvcmUKKwktIGxpYmV4dDJmczItZGV2ZWwgb24gTWFuZHJpdmEvTWFu ZHJha2UKKwktIGUyZnNwcm9ncyBvbiBHZW50b28KKworMikgTGlicmFyaWVzIG9mIHJlaXNlcmZz LCB3aGljaCBpcyB0aGUgZm9sbG93aW5nIHBhY2thZ2UgKGRlcGVuZCBvbiB5b3VyIExpbnV4IGRp c3RyaWJ1dGlvbik6CisJLSBsaWJyZWlzZXJmcy1kZXYgb24gRGViaWFuIGJhc2VkIGRpc3RyaWJ1 dGlvbnMgKERlYmlhbiwgVWJ1bnR1LCBYYW5kcm9zLCBMaWJyYW5ldCwgWGFuZHJvcywgZXRjLi4u KQorCS0gcHJvZ3NyZWlzZXJmcy1kZXZlbCBvbiBSZWRIYXQsIEZlZG9yYSBDb3JlCisJLSBwcm9n cmVpc2VyZnMgb24gR2VudG9vCisKPT09PT0gdG9vbHMvcHlncnViL3NldHVwLnB5IDEuMiB2cyBl ZGl0ZWQgPT09PT0KLS0tIDEuMi90b29scy9weWdydWIvc2V0dXAucHkJMjAwNS0wNC0yOCAyMToy Nzo0NiArMDk6MDAKKysrIGVkaXRlZC90b29scy9weWdydWIvc2V0dXAucHkJMjAwNS0wNS0xOCAw MTo0Nzo0MSArMDk6MDAKQEAgLTksNiArOSwxMSBAQCBleHQyID0gRXh0ZW5zaW9uKCJncnViLmZz eXMuZXh0Mi5fcHlleHQyCiAgICAgICAgICAgICAgICAgIGxpYnJhcmllcyA9IFsiZXh0MmZzIl0s CiAgICAgICAgICAgICAgICAgIHNvdXJjZXMgPSBbInNyYy9mc3lzL2V4dDIvZXh0Mm1vZHVsZS5j Il0pCiAKK3JlaXNlciA9IEV4dGVuc2lvbigiZ3J1Yi5mc3lzLnJlaXNlci5fcHlyZWlzZXIiLAor ICAgICAgICAgICAgICAgICBleHRyYV9jb21waWxlX2FyZ3MgPSBleHRyYV9jb21waWxlX2FyZ3Ms CisgICAgICAgICAgICAgICAgIGxpYnJhcmllcyA9IFsicmVpc2VyZnMiXSwKKyAgICAgICAgICAg ICAgICAgc291cmNlcyA9IFsic3JjL2ZzeXMvcmVpc2VyL3JlaXNlcm1vZHVsZS5jIl0pCisKIHNl dHVwKG5hbWU9J3B5Z3J1YicsCiAgICAgICB2ZXJzaW9uPScwLjEnLAogICAgICAgZGVzY3JpcHRp b249J0Jvb3QgbG9hZGVyIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBncnViIGZvciBYZW4nLApAQCAt MTksNyArMjQsOCBAQCBzZXR1cChuYW1lPSdweWdydWInLAogICAgICAgc2NyaXB0cyA9IFsic3Jj L3B5Z3J1YiJdLAogICAgICAgcGFja2FnZXM9WydncnViJywKICAgICAgICAgICAgICAgICAnZ3J1 Yi5mc3lzJywKLSAgICAgICAgICAgICAgICAnZ3J1Yi5mc3lzLmV4dDInXSwKLSAgICAgIGV4dF9t b2R1bGVzID0gW2V4dDJdCisgICAgICAgICAgICAgICAgJ2dydWIuZnN5cy5leHQyJywKKyAgICAg ICAgICAgICAgICAnZ3J1Yi5mc3lzLnJlaXNlciddLAorICAgICAgZXh0X21vZHVsZXMgPSBbZXh0 MiwgcmVpc2VyXQogICAgICAgKQogICAgICAgICAgICAgICAgCj09PT09IHRvb2xzL3B5Z3J1Yi9z cmMvZnN5cy9yZWlzZXIvX19pbml0X18ucHkgMS4xIHZzIGVkaXRlZCA9PT09PQotLS0gMS4xL3Rv b2xzL3B5Z3J1Yi9zcmMvZnN5cy9yZWlzZXIvX19pbml0X18ucHkJMjAwNS0wNS0xOCAwMTo1NTox NCArMDk6MDAKKysrIGVkaXRlZC90b29scy9weWdydWIvc3JjL2ZzeXMvcmVpc2VyL19faW5pdF9f LnB5CTIwMDUtMDUtMTggMDE6NTc6NDQgKzA5OjAwCkBAIC0wLDAgKzEsMzkgQEAKKyMgCisjIENv cHlyaWdodCAoQykgMjAwNSBOZ3V5ZW4gQW5oIFF1eW5oIDxhcXV5bmhAZ21haWwuY29tPgorIwor IyBUaGlzIHNvZnR3YXJlIG1heSBiZSBmcmVlbHkgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVQorIyBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorIworIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIx MzksIFVTQS4KKyMKKworZnJvbSBncnViLmZzeXMgaW1wb3J0IHJlZ2lzdGVyX2ZzdHlwZSwgRmls ZVN5c3RlbVR5cGUKK2Zyb20gX3B5cmVpc2VyIGltcG9ydCAqCisKK2ltcG9ydCBvcworCitGU01B R0lDMiA9ICdSZUlzRXIyJworRlNNQUdJQzMgPSAnUmVJc0VyMycKKworY2xhc3MgUmVpc2VyRmls ZVN5c3RlbVR5cGUoRmlsZVN5c3RlbVR5cGUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAg ICAgICAgRmlsZVN5c3RlbVR5cGUuX19pbml0X18oc2VsZikKKyAgICAgICAgc2VsZi5uYW1lID0g InJlaXNlciIKKworICAgIGRlZiBzbmlmZl9tYWdpYyhzZWxmLCBmbiwgb2Zmc2V0ID0gMCk6Cisg ICAgICAgIGZkID0gb3Mub3Blbihmbiwgb3MuT19SRE9OTFkpCisgICAgICAgIG9zLmxzZWVrKGZk LCAweDEwMDAwLCAwKQorICAgICAgICBidWYgPSBvcy5yZWFkKGZkLCAweDQwKQorICAgICAgICBp ZiBsZW4oYnVmKSA9PSAweDQwIGFuZCAoYnVmWzB4MzQ6MHgzQl0gaW4gW0ZTTUFHSUMyLCBGU01B R0lDM10pIDoKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQor CisgICAgZGVmIG9wZW5fZnMoc2VsZiwgZm4sIG9mZnNldCA9IDApOgorICAgICAgICBpZiBub3Qg c2VsZi5zbmlmZl9tYWdpYyhmbiwgb2Zmc2V0KToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy b3IsICJOb3QgYW4gcmVpc2VyZnMgZmlsZXN5c3RlbSIKKyAgICAgICAgcmV0dXJuIFJlaXNlckZz KGZuKQorCityZWdpc3Rlcl9mc3R5cGUoUmVpc2VyRmlsZVN5c3RlbVR5cGUoKSkKKwo9PT09PSB0 b29scy9weWdydWIvc3JjL2ZzeXMvcmVpc2VyL3JlaXNlcm1vZHVsZS5jIDEuMSB2cyBlZGl0ZWQg PT09PT0KLS0tIDEuMS90b29scy9weWdydWIvc3JjL2ZzeXMvcmVpc2VyL3JlaXNlcm1vZHVsZS5j CTIwMDUtMDUtMTggMDE6NTU6MTQgKzA5OjAwCisrKyBlZGl0ZWQvdG9vbHMvcHlncnViL3NyYy9m c3lzL3JlaXNlci9yZWlzZXJtb2R1bGUuYwkyMDA1LTA1LTE4IDAxOjU3OjUzICswOTowMApAQCAt MCwwICsxLDM0NSBAQAorLyoKKyAqIHJlaXNlcm1vZHVsZS5jIC0gc2ltcGxlIHB5dGhvbiBiaW5k aW5nIGZvciBsaWJyZWlzZXJmc3syLDN9CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA1IE5ndXll biBBbmggUXV5bmggPGFxdXluaEBnbWFpbC5jb20+CisgKgorICogVGhpcyBzb2Z0d2FyZSBtYXkg YmUgZnJlZWx5IHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIGdl bmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0 aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqLwor CisjaW5jbHVkZSA8UHl0aG9uLmg+CisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0 ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlIDxkYWwvZmlsZV9kYWwuaD4K KyNpbmNsdWRlIDxyZWlzZXJmcy9yZWlzZXJmcy5oPgorCisjaWYgKFBZVEhPTl9BUElfVkVSU0lP TiA+PSAxMDExKQorI2RlZmluZSBQWV9QQUQgMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEws MEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwsMEwKKyNlbHNlCisjZGVmaW5l IFBZX1BBRCAwTCwwTCwwTCwwTAorI2VuZGlmCisKKworLyogZ2xvYmFsIGVycm9yIG9iamVjdCAq LworUHlPYmplY3QgKlJlaXNlckVycm9yOworCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmpl Y3RfSEVBRAorICAgIHJlaXNlcmZzX2ZzX3QgKmZzOworCWRhbF90ICpkYWw7Cit9IFJlaXNlckZz OworCit0eXBlZGVmIHN0cnVjdCBfUmVpc2VyRmlsZSBSZWlzZXJGaWxlOworc3RydWN0IF9SZWlz ZXJGaWxlIHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgcmVpc2VyZnNfZmlsZV90ICpmaWxlOwor fTsKKwordm9pZCBmaWxlX2RhbF9jbG9zZShkYWxfdCAqZGFsKSB7CisKKwlpZiAoIWRhbCkgcmV0 dXJuOworCisJY2xvc2UoKGludClkYWwtPmRldik7CisJZGFsX2ZyZWUoZGFsKTsKK30KKworLyog cmVpc2VyIGZpbGUgb2JqZWN0ICovCisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZmlsZV9j bG9zZSAoUmVpc2VyRmlsZSAqZmlsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaWYgKGZpbGUt PmZpbGUgIT0gTlVMTCkKKwl7CisgICAgICAgIHJlaXNlcmZzX2ZpbGVfY2xvc2UoZmlsZS0+Zmls ZSk7CisJCWZpbGUtPmZpbGUgPSBOVUxMOworCX0KKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Cisg ICAgcmV0dXJuIFB5X05vbmU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZmlsZV9y ZWFkIChSZWlzZXJGaWxlICpmaWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgc2l6ZSA9 IDA7CisgICAgc2l6ZV90IG4sIHRvdGFsID0gMDsKKyAgICBQeU9iamVjdCAqIGJ1ZmZlciA9IE5V TEw7CisKKyAgICBpZiAoZmlsZS0+ZmlsZSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0 cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ2Fubm90IHJlYWQgZnJvbSBjbG9zZWQgZmlsZSIpOwor ICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUo YXJncywgInxpIiwgJnNpemUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGJ1ZmZlciA9 IFB5U3RyaW5nX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopIE5VTEwsIChzaXplKSA/IHNpemUg OiA0MDk2KTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiBidWZmZXI7 CisgCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgbiA9IHJlaXNlcmZzX2ZpbGVfcmVhZChmaWxl LT5maWxlLCBQeVN0cmluZ19BU19TVFJJTkcoYnVmZmVyKSArIHRvdGFsLCAKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc2l6ZSkgPyBzaXplIDogNDA5Nik7CisgICAgICAgIGlmIChu ID09IDApCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICB0b3RhbCArPSBuOworCisgICAg ICAgIGlmIChzaXplICYmIHNpemUgPT0gdG90YWwpCisgICAgICAgICAgICBicmVhazsKKworICAg ICAgICBpZiAoIXNpemUpIHsKKyAgICAgICAgICAgIF9QeVN0cmluZ19SZXNpemUoJmJ1ZmZlciwg dG90YWwgKyA0MDk2KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIF9QeVN0cmluZ19SZXNpemUo JmJ1ZmZlciwgdG90YWwpOworICAgIHJldHVybiBidWZmZXI7Cit9CisKK3N0YXRpYyB2b2lkCity ZWlzZXJfZmlsZV9kZWFsbG9jIChSZWlzZXJGaWxlICogZmlsZSkKK3sKKyAgICBpZiAoZmlsZS0+ ZmlsZSAhPSBOVUxMKSB7CisgICAgICAgIHJlaXNlcmZzX2ZpbGVfY2xvc2UoZmlsZS0+ZmlsZSk7 CisJCWZpbGUtPmZpbGUgPSBOVUxMOworCX0KKwlQeU9iamVjdF9ERUwoZmlsZSk7Cit9CisKK3N0 YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgUmVpc2VyRmlsZU1ldGhvZHNbXSA9IHsKKwl7ICJjbG9z ZSIsIChQeUNGdW5jdGlvbikgcmVpc2VyX2ZpbGVfY2xvc2UsIE1FVEhfVkFSQVJHUywgTlVMTCB9 LAorCXsgInJlYWQiLCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9maWxlX3JlYWQsIE1FVEhfVkFSQVJH UywgTlVMTCB9LAorCXsgTlVMTCwgTlVMTCwgMCwgTlVMTCB9CQorfTsKKworc3RhdGljIFB5T2Jq ZWN0ICoKK3JlaXNlcl9maWxlX2dldGF0dHIgKFJlaXNlckZpbGUgKiBmaWxlLCBjaGFyICogbmFt ZSkKK3sKKwlyZXR1cm4gUHlfRmluZE1ldGhvZCAoUmVpc2VyRmlsZU1ldGhvZHMsIChQeU9iamVj dCAqKSBmaWxlLCBuYW1lKTsKK30KKworc3RhdGljIGNoYXIgUmVpc2VyRmlsZVR5cGVfX2RvY19f W10gPSAiVGhpcyBpcyB0aGUgcmVpc2VyIGZpbGVzeXN0ZW0gb2JqZWN0IjsKK1B5VHlwZU9iamVj dCBSZWlzZXJGaWxlVHlwZSA9IHsKKwlQeU9iamVjdF9IRUFEX0lOSVQoJlB5VHlwZV9UeXBlKQor CTAsCQkJCS8qIG9iX3NpemUgKi8KKwkiUmVpc2VyRmlsZSIsCQkJLyogdHBfbmFtZSAqLworCXNp emVvZihSZWlzZXJGaWxlKSwJCS8qIHRwX3NpemUgKi8KKwkwLAkJCQkvKiB0cF9pdGVtc2l6ZSAq LworCShkZXN0cnVjdG9yKSByZWlzZXJfZmlsZV9kZWFsbG9jLCAJLyogdHBfZGVhbGxvYyAqLwor CTAsCQkJCS8qIHRwX3ByaW50ICovCisJKGdldGF0dHJmdW5jKSByZWlzZXJfZmlsZV9nZXRhdHRy LCAJLyogdHBfZ2V0YXR0ciAqLworCTAsCQkJCS8qIHRwX3NldGF0dHIgKi8KKwkwLAkJCQkvKiB0 cF9jb21wYXJlICovCisJMCwJCQkJLyogdHBfcmVwciAqLworCTAsCQkJCS8qIHRwX2FzX251bWJl ciAqLworCTAsCSAJCQkvKiB0cF9hc19zZXF1ZW5jZSAqLworCTAsCQkJCS8qIHRwX2FzX21hcHBp bmcgKi8KKwkwLCAgICAgICAgICAgCS8qIHRwX2hhc2ggKi8KKwkwLCAgICAgICAgICAgICAJLyog dHBfY2FsbCAqLworCTAsICAgICAgICAgICAgIAkvKiB0cF9zdHIgKi8KKwkwLAkJCQkvKiB0cF9n ZXRhdHRybyAqLworCTAsCQkJCS8qIHRwX3NldGF0dHJvICovCisJMCwJCQkJLyogdHBfYXNfYnVm ZmVyICovCisJUHlfVFBGTEFHU19ERUZBVUxULAkgICAgICAgCQkvKiB0cF9mbGFncyAqLworCVJl aXNlckZpbGVUeXBlX19kb2NfXywKKwlQWV9QQUQKK307CisKK3N0YXRpYyBQeU9iamVjdCAqCity ZWlzZXJfZmlsZV9vcGVuIChSZWlzZXJGcyAqZnMsIGNoYXIgKm5hbWUsIGludCBmbGFncykKK3sK KyAgICBSZWlzZXJGaWxlICpmaWxlOworICAgIHJlaXNlcmZzX2ZpbGVfdCAqZjsKKworICAgIGZp bGUgPSAoUmVpc2VyRmlsZSAqKSBQeU9iamVjdF9ORVcoUmVpc2VyRmlsZSwgJlJlaXNlckZpbGVU eXBlKTsKKworICAgIGYgPSByZWlzZXJmc19maWxlX29wZW4oZnMtPmZzLCBuYW1lLCBmbGFncyk7 CisgICAgZmlsZS0+ZmlsZSA9IGY7CisgICAgCisgICAgaWYgKCFmKSB7CisgICAgICAgIFB5RXJy X1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAidW5hYmxlIHRvIG9wZW4gZmlsZSIpOworICAg ICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopIGZpbGU7 Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZmlsZV9leGlzdCAoUmVpc2VyRnMgKmZz LCBjaGFyICpuYW1lKQoreworICAgIHJlaXNlcmZzX2ZpbGVfdCAqZjsKKworICAgIGYgPSByZWlz ZXJmc19maWxlX29wZW4oZnMtPmZzLCBuYW1lLCBPX1JET05MWSk7CisKKwlpZiAoIWYpIHsKKwkJ UHlfSU5DUkVGKFB5X0ZhbHNlKTsKKwkJcmV0dXJuIFB5X0ZhbHNlOworCX0KKwlyZWlzZXJmc19m aWxlX2Nsb3NlKGYpOworICAgIFB5X0lOQ1JFRihQeV9UcnVlKTsKKyAgICByZXR1cm4gUHlfVHJ1 ZTsKK30KKworLyogcmVpc2VyZnMgb2JqZWN0ICovCisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlz ZXJfZnNfY2xvc2UgKFJlaXNlckZzICpmcywgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaWYgKGZz LT5mcyAhPSBOVUxMKQorICAgIHsKKyAgICAgICAgcmVpc2VyZnNfZnNfY2xvc2UoZnMtPmZzKTsK KyAgICAgICAgZmlsZV9kYWxfY2xvc2UoZnMtPmRhbCk7CisJCWZzLT5mcyA9IE5VTEw7CisgICAg fQorICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4gUHlfTm9uZTsKK30KKworc3Rh dGljIFB5T2JqZWN0ICoKK3JlaXNlcl9mc19vcGVuIChSZWlzZXJGcyAqZnMsIFB5T2JqZWN0ICph cmdzKQoreworICAgIGNoYXIgKm5hbWU7CisJc2l6ZV90IGJsb2NrX3NpemUgPSBERUZBVUxUX0JM T0NLX1NJWkU7CisgICAgZGFsX3QgKmRhbDsKKyAgICByZWlzZXJmc19mc190ICpyZnM7CisKKyAg ICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInN8aSIsICZuYW1lLCAmYmxvY2tfc2l6ZSkp CisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGZzLT5mcyAhPSBOVUxMKSB7CisgICAg ICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiYWxyZWFkeSBoYXZlIGFuIGZz IG9iamVjdCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoIShkYWwg PSBmaWxlX2RhbF9vcGVuKG5hbWUsIGJsb2NrX3NpemUsIE9fUkRPTkxZKSkpIHsKKyAgICAgICAg UHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJDb3VsZG4ndCBjcmVhdGUgZGV2aWNl IGFic3RyYWN0aW9uIik7CisgICAgICAgIHJldHVybiBOVUxMOyAgICAKKyAgICB9CisgICAgCisg ICAgaWYgKCEocmZzID0gcmVpc2VyZnNfZnNfb3Blbl9mYXN0KGRhbCwgZGFsKSkpIHsKKwkJZmls ZV9kYWxfY2xvc2UoZGFsKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJy b3IsICJ1bmFibGUgdG8gb3BlbiBmaWxlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0K KyAgICAKKyAgICBmcy0+ZnMgPSByZnM7CisJZnMtPmRhbCA9IGRhbDsKKworICAgIFB5X0lOQ1JF RihQeV9Ob25lKTsKKyAgICByZXR1cm4gUHlfTm9uZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoK K3JlaXNlcl9mc19vcGVuX2ZpbGUgKFJlaXNlckZzICpmcywgUHlPYmplY3QgKmFyZ3MpCit7Cisg ICAgY2hhciAqbmFtZTsKKyAgICBpbnQgZmxhZ3MgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJz ZVR1cGxlKGFyZ3MsICJzfGkiLCAmbmFtZSwgJmZsYWdzKSkKKwkJcmV0dXJuIE5VTEw7CisKKyAg ICByZXR1cm4gcmVpc2VyX2ZpbGVfb3BlbihmcywgbmFtZSwgZmxhZ3MpOworfQorCitzdGF0aWMg UHlPYmplY3QgKgorcmVpc2VyX2ZzX2ZpbGVfZXhpc3QgKFJlaXNlckZzICpmcywgUHlPYmplY3Qg KmFyZ3MpCit7CisgICAgY2hhciAqIG5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUo YXJncywgInMiLCAmbmFtZSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuIHJl aXNlcl9maWxlX2V4aXN0KGZzLCBuYW1lKTsKK30KKworc3RhdGljIHZvaWQKK3JlaXNlcl9mc19k ZWFsbG9jIChSZWlzZXJGcyAqIGZzKQoreworICAgIGlmIChmcy0+ZnMgIT0gTlVMTCkKKwl7Cisg ICAgICAgIHJlaXNlcmZzX2ZzX2Nsb3NlKGZzLT5mcyk7CisJCWZpbGVfZGFsX2Nsb3NlKGZzLT5k YWwpOworCQlmcy0+ZnMgPSBOVUxMOworCX0KKwlQeU9iamVjdF9ERUwoZnMpOworfQorCitzdGF0 aWMgc3RydWN0IFB5TWV0aG9kRGVmIFJlaXNlckZzTWV0aG9kc1tdID0geworCXsgImNsb3NlIiwg KFB5Q0Z1bmN0aW9uKSByZWlzZXJfZnNfY2xvc2UsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorCXsg Im9wZW4iLCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9mc19vcGVuLCBNRVRIX1ZBUkFSR1MsIE5VTEwg fSwKKwl7ICJvcGVuX2ZpbGUiLCAoUHlDRnVuY3Rpb24pIHJlaXNlcl9mc19vcGVuX2ZpbGUsIE1F VEhfVkFSQVJHUywgTlVMTCB9LAorCXsgImZpbGVfZXhpc3QiLCAoUHlDRnVuY3Rpb24pIHJlaXNl cl9mc19maWxlX2V4aXN0LCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSwKKwl7IE5VTEwsIE5VTEwsIDAs IE5VTEwgfQkKK307CisKK3N0YXRpYyBQeU9iamVjdCAqCityZWlzZXJfZnNfZ2V0YXR0ciAoUmVp c2VyRnMgKiBmcywgY2hhciAqIG5hbWUpCit7CisgICAgICAgIHJldHVybiBQeV9GaW5kTWV0aG9k IChSZWlzZXJGc01ldGhvZHMsIChQeU9iamVjdCAqKSBmcywgbmFtZSk7Cit9CisKK3N0YXRpYyBj aGFyIFJlaXNlckZzVHlwZV9fZG9jX19bXSA9ICJUaGlzIGlzIHRoZSByZWlzZXIgZmlsZXN5c3Rl bSBvYmplY3QiOworCitQeVR5cGVPYmplY3QgUmVpc2VyRnNUeXBlID0geworCVB5T2JqZWN0X0hF QURfSU5JVCgmUHlUeXBlX1R5cGUpCisJMCwJCQkJLyogb2Jfc2l6ZSAqLworCSJSZWlzZXJGcyIs CQkvKiB0cF9uYW1lICovCisJc2l6ZW9mKFJlaXNlckZzKSwJCS8qIHRwX3NpemUgKi8KKwkwLAkJ CQkvKiB0cF9pdGVtc2l6ZSAqLworCShkZXN0cnVjdG9yKSByZWlzZXJfZnNfZGVhbGxvYywgCS8q IHRwX2RlYWxsb2MgKi8KKwkwLAkJCQkvKiB0cF9wcmludCAqLworCShnZXRhdHRyZnVuYykgcmVp c2VyX2ZzX2dldGF0dHIsIAkvKiB0cF9nZXRhdHRyICovCisJMCwJCQkJLyogdHBfc2V0YXR0ciAq LworCTAsCQkJCS8qIHRwX2NvbXBhcmUgKi8KKwkwLAkJCQkvKiB0cF9yZXByICovCisJMCwJCQkJ LyogdHBfYXNfbnVtYmVyICovCisJMCwJIAkJCS8qIHRwX2FzX3NlcXVlbmNlICovCisJMCwJCQkJ LyogdHBfYXNfbWFwcGluZyAqLworCTAsICAgICAgICAgICAJLyogdHBfaGFzaCAqLworCTAsICAg ICAgICAgICAgIAkvKiB0cF9jYWxsICovCisJMCwgICAgICAgICAgICAgCS8qIHRwX3N0ciAqLwor CTAsCQkJCS8qIHRwX2dldGF0dHJvICovCisJMCwJCQkJLyogdHBfc2V0YXR0cm8gKi8KKwkwLAkJ CQkvKiB0cF9hc19idWZmZXIgKi8KKwlQeV9UUEZMQUdTX0RFRkFVTFQsCQkJLyogdHBfZmxhZ3Mg Ki8KKwlSZWlzZXJGc1R5cGVfX2RvY19fLAorCVBZX1BBRAorfTsKKworc3RhdGljIFB5T2JqZWN0 ICoKK3JlaXNlcl9mc19uZXcoUHlPYmplY3QgKm8sIFB5T2JqZWN0ICphcmdzKSAKK3sKKyAgICBj aGFyICpuYW1lOworCXNpemVfdCBibG9ja19zaXplID0gREVGQVVMVF9CTE9DS19TSVpFOworICAg IFJlaXNlckZzICpwZnM7CisgICAgCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJz fGkiLCAmbmFtZSwgJmJsb2NrX3NpemUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAKKyAg ICBwZnMgPSAoUmVpc2VyRnMgKikgUHlPYmplY3RfTkVXKFJlaXNlckZzLCAmUmVpc2VyRnNUeXBl KTsKKyAgICBpZiAocGZzID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcGZz LT5mcyA9IE5VTEw7CisgICAgCisgICAgaWYgKCFyZWlzZXJfZnNfb3BlbihwZnMsIFB5X0J1aWxk VmFsdWUoInNpIiwgbmFtZSwgYmxvY2tfc2l6ZSkpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAg ICAKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcGZzOworfQorCitzdGF0aWMgc3RydWN0IFB5TWV0 aG9kRGVmIFJlaXNlck1vZHVsZU1ldGhvZHNbXSA9IHsKKyAgICB7ICJSZWlzZXJGcyIsIChQeUNG dW5jdGlvbikgcmVpc2VyX2ZzX25ldywgTUVUSF9WQVJBUkdTfSwKKyAgICB7IE5VTEwsIE5VTEws IDB9Cit9OworCit2b2lkIGluaXRfcHlyZWlzZXIodm9pZCkgeworICAgIFB5X0luaXRNb2R1bGUo Il9weXJlaXNlciIsIFJlaXNlck1vZHVsZU1ldGhvZHMpOworfQo= ------=_Part_2311_5459269.1116442006598 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_2311_5459269.1116442006598--