From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Rs9Lq-00039P-L6 for mharc-grub-devel@gnu.org; Tue, 31 Jan 2012 03:46:06 -0500 Received: from eggs.gnu.org ([140.186.70.92]:56680) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rs9Ln-00038K-2R for grub-devel@gnu.org; Tue, 31 Jan 2012 03:46:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rs9LZ-0004nQ-Kr for grub-devel@gnu.org; Tue, 31 Jan 2012 03:46:03 -0500 Received: from spam1.wiktel.com ([69.89.207.151]:35459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rs9LZ-0004n1-CW for grub-devel@gnu.org; Tue, 31 Jan 2012 03:45:49 -0500 Received: from [172.16.0.253] (thief-pool2-121-14.mncable.net [24.225.121.14]) (authenticated bits=0) by spam1.wiktel.com (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id q0V8jhml021362; Tue, 31 Jan 2012 02:45:43 -0600 Subject: Re: [Patch] Robustly search for ZFS labels & uberblocks From: Richard Laager To: Vladimir =?UTF-8?Q?=27=CF=86-coder/phcoder=27?= Serbinenko In-Reply-To: <4F25CB6C.7090204@gmail.com> References: <4E838F85.6060001@gmail.com> <1326973014.6387.224.camel@watermelon.coderich.net> <4F1C1ABD.1010303@gmail.com> <1327719035.9477.68.camel@watermelon.coderich.net> <4F23EF3C.9050407@gmail.com> <1327775600.9477.174.camel@watermelon.coderich.net> <4F25CB6C.7090204@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-GZA0KbRk8k6IDV56xi1A" Date: Tue, 31 Jan 2012 02:45:42 -0600 Message-ID: <1327999542.3471.20.camel@watermelon.coderich.net> Mime-Version: 1.0 X-Mailer: Evolution 2.32.2 X-bounce-key: wiktel.com-1; rlaager@wiktel.com; 1327999544; I36m0M8XGJ4drCeBAmF0OnqatbE; X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 69.89.207.151 Cc: grub-devel@gnu.org, Zachary Bedell X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 08:46:04 -0000 --=-GZA0KbRk8k6IDV56xi1A Content-Type: multipart/mixed; boundary="=-kZewWwYEtcGIpXVp4Onn" --=-kZewWwYEtcGIpXVp4Onn Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Attached is a stack of trivial patches that apply *on top of* your zfs.diff from 2012-01-29. They each deal with one logical change and should be very easy to review. After your original patch and this stack have been dealt with, I'll submit an updated patch for native ZFS on Linux support, which is much shorter than before. --=20 Richard --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager0.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager0.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RWxpbWluYXRlIHN0cmF5IHRyYWlsaW5nIHNwYWNlcy4NCg0KSW5kZXg6IGdydWIvdXRpbC9ncnVi LXByb2JlLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBncnViLm9yaWcvdXRpbC9ncnViLXByb2JlLmMJMjAx Mi0wMS0zMSAwMToxNzo1Ni45MTM1Mzc2MTcgLTA2MDANCisrKyBncnViL3V0aWwvZ3J1Yi1wcm9i ZS5jCTIwMTItMDEtMzEgMDE6MTg6MjAuNTMxMjA3MDAwIC0wNjAwDQpAQCAtMjY5LDcgKzI2OSw3 IEBADQogICBlbHNlDQogICAgIHByaW50ZiAoIiVzIiwgZG5hbWUpOw0KICAgZnJlZSAoZG5hbWUp Ow0KLX0gDQorfQ0KIA0KIHN0YXRpYyB2b2lkDQogcHJvYmVfYWJzdHJhY3Rpb24gKGdydWJfZGlz a190IGRpc2spDQpAQCAtMzQ1LDggKzM0NSw4IEBADQogICAgICAgZ3J1Yl91dGlsX3B1bGxfZGV2 aWNlICgqY3VyZGV2KTsNCiAgICAgICBuZGV2Kys7DQogICAgIH0NCi0gIA0KLSAgZHJpdmVzX25h bWVzID0geG1hbGxvYyAoc2l6ZW9mIChkcml2ZXNfbmFtZXNbMF0pICogKG5kZXYgKyAxKSk7IA0K Kw0KKyAgZHJpdmVzX25hbWVzID0geG1hbGxvYyAoc2l6ZW9mIChkcml2ZXNfbmFtZXNbMF0pICog KG5kZXYgKyAxKSk7DQogDQogICBmb3IgKGN1cmRldiA9IGRldmljZV9uYW1lcywgY3VyZHJpdmUg PSBkcml2ZXNfbmFtZXM7ICpjdXJkZXY7IGN1cmRldisrLA0KICAgICAgICBjdXJkcml2ZSsrKQ0K QEAgLTM2OCw3ICszNjgsNyBAQA0KICAgICAgIGRldiA9IGdydWJfZGV2aWNlX29wZW4gKGRyaXZl c19uYW1lc1swXSk7DQogICAgICAgaWYgKCEgZGV2KQ0KIAlncnViX3V0aWxfZXJyb3IgKCIlcyIs IF8oZ3J1Yl9lcnJtc2cpKTsNCi0gICAgICANCisNCiAgICAgICBmcyA9IGdydWJfZnNfcHJvYmUg KGRldik7DQogICAgICAgaWYgKCEgZnMpDQogCWdydWJfdXRpbF9lcnJvciAoIiVzIiwgXyhncnVi X2Vycm1zZykpOw0KQEAgLTQ3MCw3ICs0NzAsNyBAQA0KIAkgIGdydWJfZGV2aWNlX2Nsb3NlIChk ZXYpOw0KIAkgIGNvbnRpbnVlOw0KIAl9DQotICAgICAgDQorDQogICAgICAgaWYgKChwcmludCA9 PSBQUklOVF9DT01QQVRJQklMSVRZX0hJTlQgfHwgcHJpbnQgPT0gUFJJTlRfQklPU19ISU5UDQog CSAgIHx8IHByaW50ID09IFBSSU5UX0lFRUUxMjc1X0hJTlQgfHwgcHJpbnQgPT0gUFJJTlRfQkFS RU1FVEFMX0hJTlQNCiAJICAgfHwgcHJpbnQgPT0gUFJJTlRfRUZJX0hJTlQgfHwgcHJpbnQgPT0g UFJJTlRfQVJDX0hJTlQpDQo= --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager1.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager1.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Q2hhbmdlIGRldmljZSB0byBkZXZpY2VzIGluIGZpbmRfcm9vdF9kZXZpY2VzX2Zyb21fbGliemZz DQoNCkluZGV4OiBncnViL3V0aWwvZ2V0cm9vdC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ3J1Yi5vcmln L3V0aWwvZ2V0cm9vdC5jCTIwMTItMDEtMzEgMDA6MzQ6MzEuMDE0MDMzMDAwIC0wNjAwDQorKysg Z3J1Yi91dGlsL2dldHJvb3QuYwkyMDEyLTAxLTMxIDAwOjM2OjE2LjAyNjczMDAwMCAtMDYwMA0K QEAgLTUxMiw3ICs1MTIsNyBAQA0KIHN0YXRpYyBjaGFyICoqDQogZmluZF9yb290X2RldmljZXNf ZnJvbV9saWJ6ZnMgKGNvbnN0IGNoYXIgKmRpcikNCiB7DQotICBjaGFyICoqZGV2aWNlID0gTlVM TDsNCisgIGNoYXIgKipkZXZpY2VzID0gTlVMTDsNCiAgIGNoYXIgKnBvb2xuYW1lOw0KICAgY2hh ciAqcG9vbGZzOw0KIA0KQEAgLTUyMCwxMyArNTIwLDEzIEBADQogICBpZiAoISBwb29sbmFtZSkN CiAgICAgcmV0dXJuIE5VTEw7DQogDQotICBkZXZpY2UgPSBmaW5kX3Jvb3RfZGV2aWNlc19mcm9t X3Bvb2xuYW1lIChwb29sbmFtZSk7DQorICBkZXZpY2VzID0gZmluZF9yb290X2RldmljZXNfZnJv bV9wb29sbmFtZSAocG9vbG5hbWUpOw0KIA0KICAgZnJlZSAocG9vbG5hbWUpOw0KICAgaWYgKHBv b2xmcykNCiAgICAgZnJlZSAocG9vbGZzKTsNCiANCi0gIHJldHVybiBkZXZpY2U7DQorICByZXR1 cm4gZGV2aWNlczsNCiB9DQogDQogI2lmZGVmIF9fTUlOR1czMl9fDQo= --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager2.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager2.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Q2hhbmdlIHN0cmxlbiB0byBzaXplb2YNCg0KSW5kZXg6IGdydWIvdXRpbC9nZXRyb290LmMNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCi0tLSBncnViLm9yaWcvdXRpbC9nZXRyb290LmMJMjAxMi0wMS0zMSAwMDozNjox Ni4wMjY3MzAwMDAgLTA2MDANCisrKyBncnViL3V0aWwvZ2V0cm9vdC5jCTIwMTItMDEtMzEgMDA6 MzY6MjUuMjk2MzExMDAwIC0wNjAwDQpAQCAtNzk5LDkgKzc5OSw5IEBADQogICAgIGdydWJfdXRp bF9lcnJvciAoXygiU3RvcmFnZSBuYW1lIGZvciBgJXMnIG5vdCBOVUwtdGVybWluYXRlZCIpLCBk aXIpOw0KIA0KICAgb3NfZGV2ID0geG1hbGxvYyAoMiAqIHNpemVvZiAob3NfZGV2WzBdKSk7DQot ICBvc19kZXZbMF0gPSB4bWFsbG9jIChzdHJsZW4gKCIvZGV2LyIpICsgZGF0YV9sZW4pOw0KLSAg bWVtY3B5IChvc19kZXZbMF0sICIvZGV2LyIsIHN0cmxlbiAoIi9kZXYvIikpOw0KLSAgbWVtY3B5 IChvc19kZXZbMF0gKyBzdHJsZW4gKCIvZGV2LyIpLCBkYXRhLCBkYXRhX2xlbik7DQorICBvc19k ZXZbMF0gPSB4bWFsbG9jIChzaXplb2YgKCIvZGV2LyIpIC0gMSArIGRhdGFfbGVuKTsNCisgIG1l bWNweSAob3NfZGV2WzBdLCAiL2Rldi8iLCBzaXplb2YgKCIvZGV2LyIpIC0gMSk7DQorICBtZW1j cHkgKG9zX2RldlswXSArIHNpemVvZiAoIi9kZXYvIikgLSAxLCBkYXRhLCBkYXRhX2xlbik7DQog ICBvc19kZXZbMV0gPSAwOw0KIA0KICAgaWYgKHBvcnRzICYmIG51bV9wb3J0cyA+IDApDQo= --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager3.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager3.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 QXZvaWQgY3Jhc2hpbmcgd2hlbiBjYW5vbmljYWxpemVfZmlsZV9uYW1lKCkgZmFpbHMNCg0KSSBj b3VsZCByZXByb2R1Y2UgdGhpcyB3aXRoOiBncnViLXByb2JlIC9kZXYvc2RhMQ0KDQpJbmRleDog Z3J1Yi91dGlsL2dldHJvb3QuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdydWIub3JpZy91dGlsL2dldHJv b3QuYwkyMDEyLTAxLTMwIDAwOjI5OjMwLjc1NDAxODAwMCAtMDYwMA0KKysrIGdydWIvdXRpbC9n ZXRyb290LmMJMjAxMi0wMS0zMCAyMzozMTo1OC45NDEyMTEwMDAgLTA2MDANCkBAIC04NDIsNyAr OTMxLDEyIEBADQogCXsNCiAJICBjaGFyICp0bXAgPSAqY3VyOw0KIAkgIGludCByb290LCBkbTsN Ci0JICAqY3VyID0gY2Fub25pY2FsaXplX2ZpbGVfbmFtZSAoKmN1cik7DQorCSAgKmN1ciA9IGNh bm9uaWNhbGl6ZV9maWxlX25hbWUgKHRtcCk7DQorCSAgaWYgKCpjdXIgPT0gTlVMTCkNCisJICAg IHsNCisJICAgICAgZ3J1Yl91dGlsX2Vycm9yIChfKCJmYWlsZWQgdG8gZ2V0IGNhbm9uaWNhbCBw YXRoIG9mICVzIiksIHRtcCk7DQorCSAgICAgIGJyZWFrOw0KKwkgICAgfQ0KIAkgIGZyZWUgKHRt cCk7DQogCSAgcm9vdCA9IChzdHJjbXAgKCpjdXIsICIvZGV2L3Jvb3QiKSA9PSAwKTsNCiAJICBk bSA9IChzdHJuY21wICgqY3VyLCAiL2Rldi9kbS0iLCBzaXplb2YgKCIvZGV2L2RtLSIpIC0gMSkg PT0gMCk7DQo= --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager4.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager4.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RHJvcCBhbiB1bnVzZWQgdmFyaWFibGUuDQoNCkluZGV4OiBncnViL3V0aWwvZ2V0cm9vdC5jDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQotLS0gZ3J1Yi5vcmlnL3V0aWwvZ2V0cm9vdC5jCTIwMTItMDEtMzEgMDA6NTA6 MDguNjc0NDg0MjU1IC0wNjAwDQorKysgZ3J1Yi91dGlsL2dldHJvb3QuYwkyMDEyLTAxLTMxIDAw OjUwOjI0LjIwMDQzODAwMCAtMDYwMA0KQEAgLTI5Myw3ICsyOTMsNiBAQA0KIAkJJiYgIXNzY2Fu ZiAobmFtZSwgInJhaWR6JXUiLCAmZHVtbXkpDQogCQkmJiAhc3RyY21wIChzdGF0ZSwgIk9OTElO RSIpKQ0KIAkgICAgICB7DQotCQljaGFyICp0bXA7DQogCQlpZiAobmRldmljZXMgPj0gZGV2aWNl c19hbGxvY2F0ZWQpDQogCQkgIHsNCiAJCSAgICBkZXZpY2VzX2FsbG9jYXRlZCA9IDIgKiAoZGV2 aWNlc19hbGxvY2F0ZWQgKyA4KTsNCg== --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager5.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager5.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkIGJyYWNlcyBhcm91bmQgYW5kIGluZGVudCB0aGUgYHpwb29sIHN0YXR1c2AgcGFyc2luZyBs b29wDQoNClRoZSBzd2l0Y2ggaXMgb25lIHN0YXRlbWVudCwgc28gdGhpcyBkb2Vzbid0IGNoYW5n ZSB0aGUgYWN0dWFsIGVmZmVjdA0Kb2YgdGhlIGNvZGUsIGJ1dCBpdCBtYWtlcyBpdCBtb3JlIGNs ZWFyLiAgQWxzbywgaWYgc29tZW9uZSB3ZXJlIHRvIHRyeQ0KdG8gYWRkIGEgZGVidWdnaW5nIHBy aW50ZigpIGFmdGVyIHRoZSBpZiBzdGF0ZW1lbnQsIGl0IHdvdWxkIHdvcmsNCmNvcnJlY3RseS4g OykNCg0KSW5kZXg6IGdydWIvdXRpbC9nZXRyb290LmMNCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBncnViLm9y aWcvdXRpbC9nZXRyb290LmMJMjAxMi0wMS0zMSAwMDo1MDoyNC4wMDAwMDAwMDAgLTA2MDANCisr KyBncnViL3V0aWwvZ2V0cm9vdC5jCTIwMTItMDEtMzEgMDA6NTE6MTUuMzUyMzk4MDAwIC0wNjAw DQpAQCAtMjc0LDM2ICsyNzQsMzggQEANCiAJDQogICAgICAgaWYgKHNzY2FuZiAobGluZSwgIiAl cyAlMjU2cyAlMjU2cyAlMjU2cyAlMjU2cyAlMjU2cyIsDQogCQkgIG5hbWUsIHN0YXRlLCByZWFk bGVuLCB3cml0ZWxlbiwgY2tzdW0sIG5vdGVzKSA+PSA1KQ0KLQlzd2l0Y2ggKHN0KQ0KLQkgIHsN Ci0JICBjYXNlIDA6DQotCSAgICBpZiAoIXN0cmNtcCAobmFtZSwgIk5BTUUiKQ0KLQkJJiYgIXN0 cmNtcCAoc3RhdGUsICJTVEFURSIpDQotCQkmJiAhc3RyY21wIChyZWFkbGVuLCAiUkVBRCIpDQot CQkmJiAhc3RyY21wICh3cml0ZWxlbiwgIldSSVRFIikNCi0JCSYmICFzdHJjbXAgKGNrc3VtLCAi Q0tTVU0iKSkNCi0JICAgICAgc3QrKzsNCi0JICAgIGJyZWFrOw0KLQkgIGNhc2UgMToNCi0JICAg IGlmICghc3RyY21wIChuYW1lLCBwb29sbmFtZSkpDQotCSAgICAgIHN0Kys7DQotCSAgICBicmVh azsNCi0JICBjYXNlIDI6DQotCSAgICBpZiAoc3RyY21wIChuYW1lLCAibWlycm9yIikgJiYgIXNz Y2FuZiAobmFtZSwgIm1pcnJvci0ldSIsICZkdW1teSkNCi0JCSYmICFzc2NhbmYgKG5hbWUsICJy YWlkeiV1IiwgJmR1bW15KQ0KLQkJJiYgIXN0cmNtcCAoc3RhdGUsICJPTkxJTkUiKSkNCi0JICAg ICAgew0KLQkJaWYgKG5kZXZpY2VzID49IGRldmljZXNfYWxsb2NhdGVkKQ0KLQkJICB7DQotCQkg ICAgZGV2aWNlc19hbGxvY2F0ZWQgPSAyICogKGRldmljZXNfYWxsb2NhdGVkICsgOCk7DQotCQkg ICAgZGV2aWNlcyA9IHhyZWFsbG9jIChkZXZpY2VzLCBzaXplb2YgKGRldmljZXNbMF0pDQotCQkJ CQkqIGRldmljZXNfYWxsb2NhdGVkKTsNCi0JCSAgfQ0KLQkJZGV2aWNlc1tuZGV2aWNlcysrXSA9 IHhhc3ByaW50ZiAoIi9kZXYvJXMiLCBuYW1lKTsNCi0JICAgICAgfQ0KLQkgICAgYnJlYWs7DQot CSAgfQ0KLQkNCisJew0KKwkgIHN3aXRjaCAoc3QpDQorCSAgICB7DQorCSAgICBjYXNlIDA6DQor CSAgICAgIGlmICghc3RyY21wIChuYW1lLCAiTkFNRSIpDQorCQkgICYmICFzdHJjbXAgKHN0YXRl LCAiU1RBVEUiKQ0KKwkJICAmJiAhc3RyY21wIChyZWFkbGVuLCAiUkVBRCIpDQorCQkgICYmICFz dHJjbXAgKHdyaXRlbGVuLCAiV1JJVEUiKQ0KKwkJICAmJiAhc3RyY21wIChja3N1bSwgIkNLU1VN IikpDQorCQlzdCsrOw0KKwkgICAgICBicmVhazsNCisJICAgIGNhc2UgMToNCisJICAgICAgaWYg KCFzdHJjbXAgKG5hbWUsIHBvb2xuYW1lKSkNCisJCXN0Kys7DQorCSAgICAgIGJyZWFrOw0KKwkg ICAgY2FzZSAyOg0KKwkgICAgICBpZiAoc3RyY21wIChuYW1lLCAibWlycm9yIikgJiYgIXNzY2Fu ZiAobmFtZSwgIm1pcnJvci0ldSIsICZkdW1teSkNCisJCSAgJiYgIXNzY2FuZiAobmFtZSwgInJh aWR6JXUiLCAmZHVtbXkpDQorCQkgICYmICFzdHJjbXAgKHN0YXRlLCAiT05MSU5FIikpDQorCQl7 DQorCQkgIGlmIChuZGV2aWNlcyA+PSBkZXZpY2VzX2FsbG9jYXRlZCkNCisJCSAgICB7DQorCQkg ICAgICBkZXZpY2VzX2FsbG9jYXRlZCA9IDIgKiAoZGV2aWNlc19hbGxvY2F0ZWQgKyA4KTsNCisJ CSAgICAgIGRldmljZXMgPSB4cmVhbGxvYyAoZGV2aWNlcywgc2l6ZW9mIChkZXZpY2VzWzBdKQ0K KwkJCQkJICAqIGRldmljZXNfYWxsb2NhdGVkKTsNCisJCSAgICB9DQorCQkgIGRldmljZXNbbmRl dmljZXMrK10gPSB4YXNwcmludGYgKCIvZGV2LyVzIiwgbmFtZSk7DQorCSAgICAgICAgfQ0KKwkg ICAgICBicmVhazsNCisJICAgIH0NCisJfQ0KKw0KICAgICAgIGZyZWUgKGxpbmUpOw0KICAgICB9 DQogDQo= --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager6.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager6.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 SGFuZGxlIHBvb2wgbmFtZXMgd2l0aCB0cmFpbGluZyBzcGFjZXMNCg0KSW5kZXg6IGdydWIvdXRp bC9nZXRyb290LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBncnViLm9yaWcvdXRpbC9nZXRyb290LmMJMjAx Mi0wMS0zMSAwMTowNToxMi4zODcwMDUwMDAgLTA2MDANCisrKyBncnViL3V0aWwvZ2V0cm9vdC5j CTIwMTItMDEtMzEgMDE6MDU6MTMuMTk2MTAwMDAwIC0wNjAwDQpAQCAtMjYwLDcgKzI2MCw3IEBA DQogICBjaGFyIGNrc3VtWzI1N10sIG5vdGVzWzI1N107DQogICB1bnNpZ25lZCBpbnQgZHVtbXk7 DQogDQotICBjbWQgPSB4YXNwcmludGYgKCJ6cG9vbCBzdGF0dXMgJXMiLCBwb29sbmFtZSk7DQor ICBjbWQgPSB4YXNwcmludGYgKCJ6cG9vbCBzdGF0dXMgXCIlc1wiIiwgcG9vbG5hbWUpOw0KICAg ZnAgPSBwb3BlbiAoY21kLCAiciIpOw0KICAgZnJlZSAoY21kKTsNCiANCkBAIC0yODYsNyArMjg2 LDggQEANCiAJCXN0Kys7DQogCSAgICAgIGJyZWFrOw0KIAkgICAgY2FzZSAxOg0KLQkgICAgICBp ZiAoIXN0cmNtcCAobmFtZSwgcG9vbG5hbWUpKQ0KKyAgICAgICAgICAgICAgLyogc3RybmNtcCBp cyB1c2VkIGJlY2F1c2UgcG9vbHMgY2FuIHRlY2huaWNhbGx5IGhhdmUgdHJhaWxpbmcgc3BhY2Vz LiAqLw0KKwkgICAgICBpZiAoIXN0cm5jbXAgKG5hbWUsIHBvb2xuYW1lLCBzdHJsZW4gKG5hbWUp KSkNCiAJCXN0Kys7DQogCSAgICAgIGJyZWFrOw0KIAkgICAgY2FzZSAyOg0K --=-kZewWwYEtcGIpXVp4Onn Content-Disposition: attachment; filename="zfs-on-linux-rlaager7.patch" Content-Type: text/x-patch; name="zfs-on-linux-rlaager7.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 SGFuZGxlIGFsbCByYWlkeiB0eXBlcyBpbiBgenBvb2wgc3RhdHVzYCBvdXRwdXQNCg0KSW5kZXg6 IGdydWIvdXRpbC9nZXRyb290LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBncnViLm9yaWcvdXRpbC9nZXRy b290LmMJMjAxMi0wMS0zMSAwMTowNToxMy4wMDAwMDAwMDAgLTA2MDANCisrKyBncnViL3V0aWwv Z2V0cm9vdC5jCTIwMTItMDEtMzEgMDE6MDY6NTMuODU2NzA0MDAwIC0wNjAwDQpAQCAtMjkzLDYg KzI5Myw5IEBADQogCSAgICBjYXNlIDI6DQogCSAgICAgIGlmIChzdHJjbXAgKG5hbWUsICJtaXJy b3IiKSAmJiAhc3NjYW5mIChuYW1lLCAibWlycm9yLSV1IiwgJmR1bW15KQ0KIAkJICAmJiAhc3Nj YW5mIChuYW1lLCAicmFpZHoldSIsICZkdW1teSkNCisJCSAgJiYgIXNzY2FuZiAobmFtZSwgInJh aWR6MS0ldSIsICZkdW1teSkNCisJCSAgJiYgIXNzY2FuZiAobmFtZSwgInJhaWR6Mi0ldSIsICZk dW1teSkNCisJCSAgJiYgIXNzY2FuZiAobmFtZSwgInJhaWR6My0ldSIsICZkdW1teSkNCiAJCSAg JiYgIXN0cmNtcCAoc3RhdGUsICJPTkxJTkUiKSkNCiAJCXsNCiAJCSAgaWYgKG5kZXZpY2VzID49 IGRldmljZXNfYWxsb2NhdGVkKQ0K --=-kZewWwYEtcGIpXVp4Onn-- --=-GZA0KbRk8k6IDV56xi1A Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEABECAAYFAk8nqi8ACgkQbfU6uV4fG85zYACgtb1DQySSBN8IBjLr5dFdZZSe nBkAoJfz95xmIFeQq2zUJokF9vFYX5nC =sBho -----END PGP SIGNATURE----- --=-GZA0KbRk8k6IDV56xi1A--