kern/95459: Rebooting the system while rebuilding RAID (Intel MatrixRAID) results in data loss

Hideki SAKAMOTO hsakamt at tsnr.com
Fri Sep 5 02:40:04 UTC 2008


The following reply was made to PR kern/95459; it has been noted by GNATS.

From: Hideki SAKAMOTO <hsakamt at tsnr.com>
To: bug-followup at FreeBSD.org, be9-ml at be9.ru
Cc:  
Subject: Re: kern/95459: Rebooting the system while rebuilding RAID (Intel
 MatrixRAID) results in data loss
Date: Fri, 05 Sep 2008 11:16:09 +0900

 This is a multi-part message in MIME format.
 --------------090608030702030508080702
 Content-Type: text/plain; charset=ISO-2022-JP
 Content-Transfer-Encoding: 7bit
 
 Hi,
 
 I wrote a patch for 6_STABLE and 7_STABLE.
 ata-raid.h.patch is common patch for both version.
 
 I hope this patch, kern/102211(this patch also resolv kern/108924), and
 kern/124064 will be commited in next RELEASE, if it's not too late.
 
 ---
  Hideki Sakamoto
 
 --------------090608030702030508080702
 Content-Type: text/plain;
  name="ata-raid.c.patch7"
 Content-Transfer-Encoding: base64
 Content-Disposition: inline;
  filename="ata-raid.c.patch7"
 
 KioqIGF0YS1yYWlkLmMub3JpZwlUdWUgQXVnIDE0IDAzOjQ2OjMxIDIwMDcKLS0tIGF0YS1y
 YWlkLmMJRnJpIFNlcCAgNSAwMToyMToyNiAyMDA4CioqKioqKioqKioqKioqKgoqKiogMTMy
 NSwxMzMwICoqKioKLS0tIDEzMjUsMTMzMiAtLS0tCiAgCWlmIChjb3VudCkgewogIAkgICAg
 cmRwLT5yZWJ1aWxkX2xiYSA9IDA7CiAgCSAgICByZHAtPnN0YXR1cyB8PSBBUl9TX1JFQlVJ
 TERJTkc7CisgCSAgICBpZiAocmRwLT5mb3JtYXQgPT0gQVJfRl9JTlRFTF9SQUlEKQorIAkJ
 YXRhX3JhaWRfY29uZmlnX2NoYW5nZWQocmRwLCAxKTsKICAJICAgIHJldHVybiAwOwogIAl9
 CiAgCXJldHVybiBFSU87CioqKioqKioqKioqKioqKgoqKiogMjE3NCwyMTc5ICoqKioKLS0t
 IDIxNzYsMjE5MSAtLS0tCiAgCQlyYWlkLT5zdGF0dXMgfD0gQVJfU19ERUdSQURFRDsKICAJ
 CWJyZWFrOwogIAkgICAgY2FzZSBJTlRFTF9TX0RJU0FCTEVEOgorIAkJcmFpZC0+c3RhdHVz
 ID0gQVJfU19SRUFEWTsKKyAJCS8qCisgCQkgKiByb2xsYmFjayB0byBERUdSQURFRCBtb2Rl
 IGJlY2F1c2UgL2Jpbi9kZCBjYW5uJ3Qga2ljaworICAgICAgICAgICAgICAgICAgKiBsaWtl
 IGF0YWNvbnRyb2woOCkgYXQgdGhpcyBtb21lbnQuCisgCQkgKiAKKyAJCSAqIEkgY2hlY2tl
 ZCB0aGUgY29kZSBiZWxvdyBieSBleGVjdXRlIC9iaW4vZGQgb24gc2hlbGwuCisgCQkgKiBp
 ZiAobWFwLT5yZWJ1aWxkX2ZsYWcgJiBJTlRFTF9SRl9SRUJVSUxESU5HICYmIG1hcC0+bWFn
 aWNbMV0gIT0gMHhmZikKKyAJCSAqICAgIHJhaWQtPnN0YXR1cyB8PSAoQVJfU19SRUJVSUxE
 SU5HfEFSX1NfREVHUkFERUQpOworICAgICAgICAgICAgICAgICAgKi8KKyAJCWJyZWFrOwog
 IAkgICAgY2FzZSBJTlRFTF9TX0ZBSUxVUkU6CiAgCQlyYWlkLT5zdGF0dXMgPSAwOwogIAkg
 ICAgfQoqKioqKioqKioqKioqKioKKioqIDIyMDMsMjIxMCAqKioqCiAgCQlyYWlkLT5kaXNr
 c1tkaXNrXS5zZWN0b3JzID0KICAJCSAgICBtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlz
 a11dLnNlY3RvcnM7CiAgCQlyYWlkLT5kaXNrc1tkaXNrXS5mbGFncyA9IDA7CiEgCQlpZiAo
 bWV0YS0+ZGlza1ttYXAtPmRpc2tfaWR4W2Rpc2tdXS5mbGFncyAmIElOVEVMX0ZfT05MSU5F
 KQohIAkJICAgIHJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzIHw9IEFSX0RGX09OTElORTsKICAJ
 CWlmIChtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9B
 U1NJR05FRCkKICAJCSAgICByYWlkLT5kaXNrc1tkaXNrXS5mbGFncyB8PSBBUl9ERl9BU1NJ
 R05FRDsKICAJCWlmIChtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYg
 SU5URUxfRl9TUEFSRSkgewotLS0gMjIxNSwyMjI4IC0tLS0KICAJCXJhaWQtPmRpc2tzW2Rp
 c2tdLnNlY3RvcnMgPQogIAkJICAgIG1ldGEtPmRpc2tbbWFwLT5kaXNrX2lkeFtkaXNrXV0u
 c2VjdG9yczsKICAJCXJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzID0gMDsKISAJCWlmIChtZXRh
 LT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9PTkxJTkUpIHsK
 ISAJCSAgICBpZiAoKG1hcC0+cmVidWlsZF9mbGFnICYgSU5URUxfUkZfUkVCVUlMRElORykg
 JiYgZGlzayA9PSBtYXAtPm1hZ2ljWzFdKSB7CiEgCQkJcmFpZC0+ZGlza3NbZGlza10uZmxh
 Z3MgfD0gQVJfREZfU1BBUkU7CiEgCQkJLy8gcmFpZC0+cmVidWlsZF9sYmEgPSBtYXAtPnJl
 YnVpbGRfY291bnQgLi4uOwohIAkJICAgIH0gZWxzZSB7CiEgCQkJcmFpZC0+ZGlza3NbZGlz
 a10uZmxhZ3MgfD0gQVJfREZfT05MSU5FOwohIAkJICAgIH0KISAJCX0KICAJCWlmIChtZXRh
 LT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9BU1NJR05FRCkK
 ICAJCSAgICByYWlkLT5kaXNrc1tkaXNrXS5mbGFncyB8PSBBUl9ERl9BU1NJR05FRDsKICAJ
 CWlmIChtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9T
 UEFSRSkgewoqKioqKioqKioqKioqKioKKioqIDIyMjIsMjIyOCAqKioqCiAgCQlpZiAoIXN0
 cm5jbXAocmFpZC0+ZGlza3NbZGlza10uc2VyaWFsLCBhdGFkZXYtPnBhcmFtLnNlcmlhbCwK
 ICAJCSAgICBzaXplb2YocmFpZC0+ZGlza3NbZGlza10uc2VyaWFsKSkpIHsKICAJCSAgICBy
 YWlkLT5kaXNrc1tkaXNrXS5kZXYgPSBwYXJlbnQ7CiEgCQkgICAgcmFpZC0+ZGlza3NbZGlz
 a10uZmxhZ3MgfD0gKEFSX0RGX1BSRVNFTlQgfCBBUl9ERl9PTkxJTkUpOwogIAkJICAgIGFy
 cy0+cmFpZFtyYWlkLT52b2x1bWVdID0gcmFpZDsKICAJCSAgICBhcnMtPmRpc2tfbnVtYmVy
 W3JhaWQtPnZvbHVtZV0gPSBkaXNrOwogIAkJICAgIHJldHZhbCA9IDE7Ci0tLSAyMjQwLDIy
 NDYgLS0tLQogIAkJaWYgKCFzdHJuY21wKHJhaWQtPmRpc2tzW2Rpc2tdLnNlcmlhbCwgYXRh
 ZGV2LT5wYXJhbS5zZXJpYWwsCiAgCQkgICAgc2l6ZW9mKHJhaWQtPmRpc2tzW2Rpc2tdLnNl
 cmlhbCkpKSB7CiAgCQkgICAgcmFpZC0+ZGlza3NbZGlza10uZGV2ID0gcGFyZW50OwohIAkJ
 ICAgIHJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzIHw9IEFSX0RGX1BSRVNFTlQ7CiAgCQkgICAg
 YXJzLT5yYWlkW3JhaWQtPnZvbHVtZV0gPSByYWlkOwogIAkJICAgIGFycy0+ZGlza19udW1i
 ZXJbcmFpZC0+dm9sdW1lXSA9IGRpc2s7CiAgCQkgICAgcmV0dmFsID0gMTsKKioqKioqKioq
 KioqKioqCioqKiAyMjYxLDIyNjggKioqKgogICAgICBzdHJ1Y3QgaW50ZWxfcmFpZF9jb25m
 ICptZXRhOwogICAgICBzdHJ1Y3QgaW50ZWxfcmFpZF9tYXBwaW5nICptYXA7CiAgICAgIHN0
 cnVjdCB0aW1ldmFsIHRpbWVzdGFtcDsKISAgICAgdV9pbnQzMl90IGNoZWNrc3VtLCAqcHRy
 OwogICAgICBpbnQgY291bnQsIGRpc2ssIGVycm9yID0gMDsKICAgICAgY2hhciAqdG1wOwog
 IAogICAgICBpZiAoIShtZXRhID0gKHN0cnVjdCBpbnRlbF9yYWlkX2NvbmYgKikKLS0tIDIy
 NzksMjI4NyAtLS0tCiAgICAgIHN0cnVjdCBpbnRlbF9yYWlkX2NvbmYgKm1ldGE7CiAgICAg
 IHN0cnVjdCBpbnRlbF9yYWlkX21hcHBpbmcgKm1hcDsKICAgICAgc3RydWN0IHRpbWV2YWwg
 dGltZXN0YW1wOwohICAgICB1X2ludDMyX3QgY2hlY2tzdW0sICpwdHIsIHJlYnVpbGRfZmxh
 ZyA9IElOVEVMX1JGX05PUk1BTDsKICAgICAgaW50IGNvdW50LCBkaXNrLCBlcnJvciA9IDA7
 CisgICAgIHVfaW50OF90IHJlYnVpbGRfdGFyZ2V0ID0gMHhmZjsKICAgICAgY2hhciAqdG1w
 OwogIAogICAgICBpZiAoIShtZXRhID0gKHN0cnVjdCBpbnRlbF9yYWlkX2NvbmYgKikKKioq
 KioqKioqKioqKioqCioqKiAyMjkyLDIzMjEgKioqKgogIAkgICAgbWV0YS0+ZGlza1tkaXNr
 XS5zZWN0b3JzID0gcmRwLT5kaXNrc1tkaXNrXS5zZWN0b3JzOwogIAkgICAgbWV0YS0+ZGlz
 a1tkaXNrXS5pZCA9IChjaC0+dW5pdCA8PCAxNikgfCBBVEFfREVWKGF0YWRldi0+dW5pdCk7
 CiAgCX0KISAJZWxzZQogIAkgICAgbWV0YS0+ZGlza1tkaXNrXS5zZWN0b3JzID0gcmRwLT50
 b3RhbF9zZWN0b3JzIC8gcmRwLT53aWR0aDsKICAJbWV0YS0+ZGlza1tkaXNrXS5mbGFncyA9
 IDA7CiEgCWlmIChyZHAtPmRpc2tzW2Rpc2tdLmZsYWdzICYgQVJfREZfU1BBUkUpCiAgCSAg
 ICBtZXRhLT5kaXNrW2Rpc2tdLmZsYWdzICB8PSBJTlRFTF9GX1NQQVJFOwohIAllbHNlIHsK
 ISAJICAgIGlmIChyZHAtPmRpc2tzW2Rpc2tdLmZsYWdzICYgQVJfREZfT05MSU5FKQogIAkJ
 bWV0YS0+ZGlza1tkaXNrXS5mbGFncyB8PSBJTlRFTF9GX09OTElORTsKICAJICAgIGVsc2UK
 ICAJCW1ldGEtPmRpc2tbZGlza10uZmxhZ3MgfD0gSU5URUxfRl9ET1dOOwogIAkgICAgaWYg
 KHJkcC0+ZGlza3NbZGlza10uZmxhZ3MgJiBBUl9ERl9BU1NJR05FRCkKICAJCW1ldGEtPmRp
 c2tbZGlza10uZmxhZ3MgIHw9IElOVEVMX0ZfQVNTSUdORUQ7CiAgCX0KICAgICAgfQogICAg
 ICBtYXAgPSAoc3RydWN0IGludGVsX3JhaWRfbWFwcGluZyAqKSZtZXRhLT5kaXNrW21ldGEt
 PnRvdGFsX2Rpc2tzXTsKICAKICAgICAgYmNvcHkocmRwLT5uYW1lLCBtYXAtPm5hbWUsIHNp
 emVvZihyZHAtPm5hbWUpKTsKICAgICAgbWFwLT50b3RhbF9zZWN0b3JzID0gcmRwLT50b3Rh
 bF9zZWN0b3JzOwohICAgICBtYXAtPnN0YXRlID0gMTI7ICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAvKiBYWFggU09TICovCiAgICAgIG1hcC0+b2Zmc2V0
 ID0gcmRwLT5vZmZzZXRfc2VjdG9yczsKICAgICAgbWFwLT5zdHJpcGVfY291bnQgPSByZHAt
 PnRvdGFsX3NlY3RvcnMgLyAocmRwLT5pbnRlcmxlYXZlKnJkcC0+dG90YWxfZGlza3MpOwog
 ICAgICBtYXAtPnN0cmlwZV9zZWN0b3JzID0gIHJkcC0+aW50ZXJsZWF2ZTsKICAgICAgbWFw
 LT5kaXNrX3NlY3RvcnMgPSByZHAtPnRvdGFsX3NlY3RvcnMgLyByZHAtPndpZHRoOwohICAg
 ICBtYXAtPnN0YXR1cyA9IElOVEVMX1NfUkVBRFk7ICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAvKiBYWFggU09TICovCiAgICAgIHN3aXRjaCAocmRwLT50eXBlKSB7CiAgICAg
 IGNhc2UgQVJfVF9SQUlEMDoKICAJbWFwLT50eXBlID0gSU5URUxfVF9SQUlEMDsKLS0tIDIz
 MTEsMjM2OCAtLS0tCiAgCSAgICBtZXRhLT5kaXNrW2Rpc2tdLnNlY3RvcnMgPSByZHAtPmRp
 c2tzW2Rpc2tdLnNlY3RvcnM7CiAgCSAgICBtZXRhLT5kaXNrW2Rpc2tdLmlkID0gKGNoLT51
 bml0IDw8IDE2KSB8IEFUQV9ERVYoYXRhZGV2LT51bml0KTsKICAJfQohIAllbHNlIHsKICAJ
 ICAgIG1ldGEtPmRpc2tbZGlza10uc2VjdG9ycyA9IHJkcC0+dG90YWxfc2VjdG9ycyAvIHJk
 cC0+d2lkdGg7CisgCSAgICBtZXRhLT5kaXNrW2Rpc2tdLmlkID0gMHhmZmZmZmZmZjsKKyAJ
 fQogIAltZXRhLT5kaXNrW2Rpc2tdLmZsYWdzID0gMDsKISAJLyoKISAJICogUmVidWlsZGlu
 ZyBzdGF0dXM6CiEgCSAqICAgZHJpdmVyOgohIAkgKiAgICAgLSBBUl9ERl9PTkxJTkUgaXMg
 Tk9UIHNldCBvbiBtaXJyb3IgZHJpdmUuCiEgCSAqICAgICAtIEFSX1NfUkVCVUlMRElORyBp
 cyBzZXQuCiEgCSAqICAgICAtIEFSX0RGX1NQQVJFIGlzIHNldCBvbiBtaXJyb3IgZHJpdmUu
 CiEgCSAqICAgQklPUzoKISAJICogICAgIC0gSU5URUxfRl9PTkxJTkUgaXMgc2V0IG9uIGJv
 dGggbWFzdGVyIGFuZCBtaXJyb3IgZHJpdmUuCiEgCSAqICAgICAtIElOVEVMX1JGX1JFQlVJ
 TERJTkcgaXMgc2V0LgohIAkgKiAgICAgLSBtaXJyb3IncyBkcml2ZSBudW1iZXIgaXMgaW4g
 bWFnaWNbMV0uCiEgCSAqLwohIAlpZiAoKHJkcC0+ZGlza3NbZGlza10uZmxhZ3MgJiBBUl9E
 Rl9TUEFSRSkgJiYKISAJICAgICghKHJkcC0+c3RhdHVzICYgQVJfU19SRUJVSUxESU5HKSB8
 fCAocmVidWlsZF90YXJnZXQgIT0gMHhmZikpKSB7CiAgCSAgICBtZXRhLT5kaXNrW2Rpc2td
 LmZsYWdzICB8PSBJTlRFTF9GX1NQQVJFOwohIAl9IGVsc2UgewohIAkgICAgaWYgKHJkcC0+
 ZGlza3NbZGlza10uZmxhZ3MgJiAoQVJfREZfT05MSU5FfEFSX0RGX1NQQVJFKSkKICAJCW1l
 dGEtPmRpc2tbZGlza10uZmxhZ3MgfD0gSU5URUxfRl9PTkxJTkU7CiAgCSAgICBlbHNlCiAg
 CQltZXRhLT5kaXNrW2Rpc2tdLmZsYWdzIHw9IElOVEVMX0ZfRE9XTjsKICAJICAgIGlmIChy
 ZHAtPmRpc2tzW2Rpc2tdLmZsYWdzICYgQVJfREZfQVNTSUdORUQpCiAgCQltZXRhLT5kaXNr
 W2Rpc2tdLmZsYWdzICB8PSBJTlRFTF9GX0FTU0lHTkVEOworIAkgICAgaWYgKHJkcC0+ZGlz
 a3NbZGlza10uZmxhZ3MgJiBBUl9ERl9TUEFSRSkgeworIAkJcmVidWlsZF90YXJnZXQgPSAo
 dV9pbnQ4X3QpZGlzazsKKyAJCXJlYnVpbGRfZmxhZyA9IElOVEVMX1JGX1JFQlVJTERJTkc7
 CisgCSAgICB9CiAgCX0KICAgICAgfQogICAgICBtYXAgPSAoc3RydWN0IGludGVsX3JhaWRf
 bWFwcGluZyAqKSZtZXRhLT5kaXNrW21ldGEtPnRvdGFsX2Rpc2tzXTsKICAKICAgICAgYmNv
 cHkocmRwLT5uYW1lLCBtYXAtPm5hbWUsIHNpemVvZihyZHAtPm5hbWUpKTsKICAgICAgbWFw
 LT50b3RhbF9zZWN0b3JzID0gcmRwLT50b3RhbF9zZWN0b3JzOwohICAgICBtYXAtPnN0YXRl
 ID0gMjY4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog
 WFhYICovCiAgICAgIG1hcC0+b2Zmc2V0ID0gcmRwLT5vZmZzZXRfc2VjdG9yczsKICAgICAg
 bWFwLT5zdHJpcGVfY291bnQgPSByZHAtPnRvdGFsX3NlY3RvcnMgLyAocmRwLT5pbnRlcmxl
 YXZlKnJkcC0+dG90YWxfZGlza3MpOwogICAgICBtYXAtPnN0cmlwZV9zZWN0b3JzID0gIHJk
 cC0+aW50ZXJsZWF2ZTsKICAgICAgbWFwLT5kaXNrX3NlY3RvcnMgPSByZHAtPnRvdGFsX3Nl
 Y3RvcnMgLyByZHAtPndpZHRoOwohICAgICBtYXAtPnJlYnVpbGRfY291bnQgPSBtYXAtPnN0
 cmlwZV9jb3VudCAvIDI7ICAgICAgICAgICAgICAgICAgLyogWFhYICovCiEgICAgIG1hcC0+
 cmVidWlsZF9mbGFnID0gcmVidWlsZF9mbGFnOwohICAgICBpZiAocmRwLT5zdGF0dXMgJiBB
 Ul9TX1JFQlVJTERJTkcpIHsgICAgICAgICAgICAgLyoga2VlcCB0aGlzIG9yZGVyICovCiEg
 CW1hcC0+c3RhdHVzID0gSU5URUxfU19ESVNBQkxFRDsKISAgICAgfSBlbHNlIGlmIChyZHAt
 PnN0YXR1cyAmIEFSX1NfUkVBRFkpIHsKISAJbWFwLT5zdGF0dXMgPSBJTlRFTF9TX1JFQURZ
 OwohICAgICB9IGVsc2UgaWYgKHJkcC0+c3RhdHVzICYgQVJfU19ERUdSQURFRCkgewohIAlt
 YXAtPnN0YXR1cyA9IElOVEVMX1NfREVHUkFERUQ7CiEgICAgIH0gZWxzZSB7CiEgCW1hcC0+
 c3RhdHVzID0gSU5URUxfU19GQUlMVVJFOwohICAgICB9CiAgICAgIHN3aXRjaCAocmRwLT50
 eXBlKSB7CiAgICAgIGNhc2UgQVJfVF9SQUlEMDoKICAJbWFwLT50eXBlID0gSU5URUxfVF9S
 QUlEMDsKKioqKioqKioqKioqKioqCioqKiAyMzM1LDIzNDEgKioqKgogICAgICB9CiAgICAg
 IG1hcC0+dG90YWxfZGlza3MgPSByZHAtPnRvdGFsX2Rpc2tzOwogICAgICBtYXAtPm1hZ2lj
 WzBdID0gMHgwMjsKISAgICAgbWFwLT5tYWdpY1sxXSA9IDB4ZmY7CiAgICAgIG1hcC0+bWFn
 aWNbMl0gPSAweDAxOwogICAgICBmb3IgKGRpc2sgPSAwOyBkaXNrIDwgcmRwLT50b3RhbF9k
 aXNrczsgZGlzaysrKQogIAltYXAtPmRpc2tfaWR4W2Rpc2tdID0gZGlzazsKLS0tIDIzODIs
 MjM4OCAtLS0tCiAgICAgIH0KICAgICAgbWFwLT50b3RhbF9kaXNrcyA9IHJkcC0+dG90YWxf
 ZGlza3M7CiAgICAgIG1hcC0+bWFnaWNbMF0gPSAweDAyOwohICAgICBtYXAtPm1hZ2ljWzFd
 ID0gcmVidWlsZF90YXJnZXQ7CiAgICAgIG1hcC0+bWFnaWNbMl0gPSAweDAxOwogICAgICBm
 b3IgKGRpc2sgPSAwOyBkaXNrIDwgcmRwLT50b3RhbF9kaXNrczsgZGlzaysrKQogIAltYXAt
 PmRpc2tfaWR4W2Rpc2tdID0gZGlzazsKKioqKioqKioqKioqKioqCioqKiA0NTcyLDQ1Nzcg
 KioqKgotLS0gNDYxOSw0NjI2IC0tLS0KICAJcHJpbnRmKCJ0b3RhbF9zZWN0b3JzICAgICAg
 ICVqdVxuIiwgbWFwLT50b3RhbF9zZWN0b3JzKTsKICAJcHJpbnRmKCJzdGF0ZSAgICAgICAg
 ICAgICAgICV1XG4iLCBtYXAtPnN0YXRlKTsKICAJcHJpbnRmKCJyZXNlcnZlZCAgICAgICAg
 ICAgICV1XG4iLCBtYXAtPnJlc2VydmVkKTsKKyAJcHJpbnRmKCJyZWJ1aWxkX2NvdW50ICAg
 ICAgICV1XG4iLCBtYXAtPnJlYnVpbGRfY291bnQpOworIAlwcmludGYoInJlYnVpbGRfZmxh
 ZyAgICAgICAgMHglMDh4XG4iLCBtYXAtPnJlYnVpbGRfZmxhZyk7CiAgCXByaW50Zigib2Zm
 c2V0ICAgICAgICAgICAgICAldVxuIiwgbWFwLT5vZmZzZXQpOwogIAlwcmludGYoImRpc2tf
 c2VjdG9ycyAgICAgICAgJXVcbiIsIG1hcC0+ZGlza19zZWN0b3JzKTsKICAJcHJpbnRmKCJz
 dHJpcGVfY291bnQgICAgICAgICV1XG4iLCBtYXAtPnN0cmlwZV9jb3VudCk7Cg==
 --------------090608030702030508080702
 Content-Type: text/plain;
  name="ata-raid.h.patch"
 Content-Transfer-Encoding: base64
 Content-Disposition: inline;
  filename="ata-raid.h.patch"
 
 KioqIGF0YS1yYWlkLmgub3JpZwlTYXQgU2VwIDMwIDIzOjUxOjQ5IDIwMDYKLS0tIGF0YS1y
 YWlkLmgJVGh1IFNlcCAgNCAxODozNToxNSAyMDA4CioqKioqKioqKioqKioqKgoqKiogMzIz
 LDMyOSAqKioqCiAgICAgIHVfaW50NjRfdCAgICAgICAgICAgdG90YWxfc2VjdG9ycyBfX3Bh
 Y2tlZDsKICAgICAgdV9pbnQzMl90ICAgICAgICAgICBzdGF0ZTsKICAgICAgdV9pbnQzMl90
 ICAgICAgICAgICByZXNlcnZlZDsKISAgICAgdV9pbnQzMl90ICAgICAgICAgICBmaWxsZXJf
 MFsyMF07CiAgICAgIHVfaW50MzJfdCAgICAgICAgICAgb2Zmc2V0OwogICAgICB1X2ludDMy
 X3QgICAgICAgICAgIGRpc2tfc2VjdG9yczsKICAgICAgdV9pbnQzMl90ICAgICAgICAgICBz
 dHJpcGVfY291bnQ7Ci0tLSAzMjMsMzM2IC0tLS0KICAgICAgdV9pbnQ2NF90ICAgICAgICAg
 ICB0b3RhbF9zZWN0b3JzIF9fcGFja2VkOwogICAgICB1X2ludDMyX3QgICAgICAgICAgIHN0
 YXRlOwogICAgICB1X2ludDMyX3QgICAgICAgICAgIHJlc2VydmVkOwohICAgICB1X2ludDMy
 X3QgICAgICAgICAgIGZpbGxlcl8wWzEyXTsKISAgICAgdV9pbnQzMl90ICAgICAgICAgICBy
 ZWJ1aWxkX2NvdW50OwohICAgICB1X2ludDMyX3QgICAgICAgICAgIGR1bW15OwohICAgICB1
 X2ludDMyX3QgICAgICAgICAgIHJlYnVpbGRfZmxhZzsKISAjZGVmaW5lIElOVEVMX1JGX05P
 Uk1BTCAgICAgICAgIDB4MDAwMDAxMDAKISAjZGVmaW5lIElOVEVMX1JGX1JFQlVJTERJTkcg
 ICAgIDB4MDAwMDAwMDEKISAKISAgICAgdV9pbnQzMl90ICAgICAgICAgICBmaWxsZXJfMVs1
 XTsKICAgICAgdV9pbnQzMl90ICAgICAgICAgICBvZmZzZXQ7CiAgICAgIHVfaW50MzJfdCAg
 ICAgICAgICAgZGlza19zZWN0b3JzOwogICAgICB1X2ludDMyX3QgICAgICAgICAgIHN0cmlw
 ZV9jb3VudDsKKioqKioqKioqKioqKioqCioqKiAzNDEsMzQ3ICoqKioKICAKICAgICAgdV9p
 bnQ4X3QgICAgICAgICAgICB0b3RhbF9kaXNrczsKICAgICAgdV9pbnQ4X3QgICAgICAgICAg
 ICBtYWdpY1szXTsKISAgICAgdV9pbnQzMl90ICAgICAgICAgICBmaWxsZXJfMVs3XTsKICAg
 ICAgdV9pbnQzMl90ICAgICAgICAgICBkaXNrX2lkeFsxXTsKICB9IF9fcGFja2VkOwogIAot
 LS0gMzQ4LDM1NCAtLS0tCiAgCiAgICAgIHVfaW50OF90ICAgICAgICAgICAgdG90YWxfZGlz
 a3M7CiAgICAgIHVfaW50OF90ICAgICAgICAgICAgbWFnaWNbM107CiEgICAgIHVfaW50MzJf
 dCAgICAgICAgICAgZmlsbGVyXzJbN107CiAgICAgIHVfaW50MzJfdCAgICAgICAgICAgZGlz
 a19pZHhbMV07CiAgfSBfX3BhY2tlZDsKICAK
 --------------090608030702030508080702
 Content-Type: text/plain;
  name="ata-raid.c.patch6"
 Content-Transfer-Encoding: base64
 Content-Disposition: inline;
  filename="ata-raid.c.patch6"
 
 KioqIGF0YS1yYWlkLmMub3JpZwlUaHUgU2VwICA0IDE4OjQwOjM2IDIwMDgKLS0tIGF0YS1y
 YWlkLmMJRnJpIFNlcCAgNSAxMDo1MjowMSAyMDA4CioqKioqKioqKioqKioqKgoqKiogMTI4
 NiwxMjkxICoqKioKLS0tIDEyODYsMTI5MyAtLS0tCiAgCWlmIChjb3VudCkgewogIAkgICAg
 cmRwLT5yZWJ1aWxkX2xiYSA9IDA7CiAgCSAgICByZHAtPnN0YXR1cyB8PSBBUl9TX1JFQlVJ
 TERJTkc7CisgCSAgICBpZiAocmRwLT5mb3JtYXQgPT0gQVJfRl9JTlRFTF9SQUlEKQorIAkg
 ICAgICAgIGF0YV9yYWlkX2NvbmZpZ19jaGFuZ2VkKHJkcCwgMSk7CiAgCSAgICByZXR1cm4g
 MDsKICAJfQogIAlyZXR1cm4gRUlPOwoqKioqKioqKioqKioqKioKKioqIDIxMzUsMjE0MCAq
 KioqCi0tLSAyMTM3LDIxNTMgLS0tLQogIAkJcmFpZC0+c3RhdHVzIHw9IEFSX1NfREVHUkFE
 RUQ7CiAgCQlicmVhazsKICAJICAgIGNhc2UgSU5URUxfU19ESVNBQkxFRDoKKyAJCXJhaWQt
 PnN0YXR1cyB8PSBBUl9TX1JFQURZOworIAkJLyoKKyAJCSAqIHJvbGxiYWNrIHRvIERFR1JB
 REVEIG1vZGUgYmVjYXVzZSAvYmluL2RkIGNhbm4ndCBraWNrCisgCQkgKiBsaWtlIGF0YWNv
 bnRyb2woOCkgYXQgdGhpcyBtb21lbnQuCisgCQkgKgorIAkJICogSSBjaGVja2VkIHRoZSBj
 b2RlIGJlbG93IGJ5IGV4ZWN1dGUgL2Jpbi9kZCBvbiBzaGVsbC4KKyAJCSAqCisgCQkgKiBp
 ZiAoKG1hcC0+cmVidWlsZF9mbGFnICYgSU5URUxfUkZfUkVCVUlMRElORykgJiYgbWFwLT5t
 YWdpY1sxXSAhPSAweGZmKQorIAkJICogICAgcmFpZC0+c3RhdHVzIHw9IChBUl9TX1JFQlVJ
 TERJTkd8QVJfU19ERUdSQURFRCk7CisgCQkgKi8KKyAJCWJyZWFrOwogIAkgICAgY2FzZSBJ
 TlRFTF9TX0ZBSUxVUkU6CiAgCQlyYWlkLT5zdGF0dXMgPSAwOwogIAkgICAgfQoqKioqKioq
 KioqKioqKioKKioqIDIxNjQsMjE3MSAqKioqCiAgCQlyYWlkLT5kaXNrc1tkaXNrXS5zZWN0
 b3JzID0KICAJCSAgICBtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLnNlY3RvcnM7
 CiAgCQlyYWlkLT5kaXNrc1tkaXNrXS5mbGFncyA9IDA7CiEgCQlpZiAobWV0YS0+ZGlza1tt
 YXAtPmRpc2tfaWR4W2Rpc2tdXS5mbGFncyAmIElOVEVMX0ZfT05MSU5FKQohIAkJICAgIHJh
 aWQtPmRpc2tzW2Rpc2tdLmZsYWdzIHw9IEFSX0RGX09OTElORTsKICAJCWlmIChtZXRhLT5k
 aXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9BU1NJR05FRCkKICAJ
 CSAgICByYWlkLT5kaXNrc1tkaXNrXS5mbGFncyB8PSBBUl9ERl9BU1NJR05FRDsKICAJCWlm
 IChtZXRhLT5kaXNrW21hcC0+ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9TUEFS
 RSkgewotLS0gMjE3NywyMTkwIC0tLS0KICAJCXJhaWQtPmRpc2tzW2Rpc2tdLnNlY3RvcnMg
 PQogIAkJICAgIG1ldGEtPmRpc2tbbWFwLT5kaXNrX2lkeFtkaXNrXV0uc2VjdG9yczsKICAJ
 CXJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzID0gMDsKISAJCWlmIChtZXRhLT5kaXNrW21hcC0+
 ZGlza19pZHhbZGlza11dLmZsYWdzICYgSU5URUxfRl9PTkxJTkUpIHsKISAJCSAgICBpZiAo
 KG1hcC0+cmVidWlsZF9mbGFnICYgSU5URUxfUkZfUkVCVUlMRElORykgJiYgZGlzayA9PSBt
 YXAtPm1hZ2ljWzFdKSB7CiEgCQkgICAgICAgIHJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzIHw9
 IEFSX0RGX1NQQVJFOwohIAkJCS8vIHJhaWQtPnJlYnVpbGRfbGJhID0gbWFwLT5yZWJ1aWxk
 X2NvdW50IC4uLjsKISAJCSAgICB9IGVsc2UgewohIAkJICAgICAgICByYWlkLT5kaXNrc1tk
 aXNrXS5mbGFncyB8PSBBUl9ERl9PTkxJTkU7CiEgCQkgICAgfQohIAkJfQogIAkJaWYgKG1l
 dGEtPmRpc2tbbWFwLT5kaXNrX2lkeFtkaXNrXV0uZmxhZ3MgJiBJTlRFTF9GX0FTU0lHTkVE
 KQogIAkJICAgIHJhaWQtPmRpc2tzW2Rpc2tdLmZsYWdzIHw9IEFSX0RGX0FTU0lHTkVEOwog
 IAkJaWYgKG1ldGEtPmRpc2tbbWFwLT5kaXNrX2lkeFtkaXNrXV0uZmxhZ3MgJiBJTlRFTF9G
 X1NQQVJFKSB7CioqKioqKioqKioqKioqKgoqKiogMjE4MywyMTg5ICoqKioKICAJCWlmICgh
 c3RybmNtcChyYWlkLT5kaXNrc1tkaXNrXS5zZXJpYWwsIGF0YWRldi0+cGFyYW0uc2VyaWFs
 LAogIAkJICAgIHNpemVvZihyYWlkLT5kaXNrc1tkaXNrXS5zZXJpYWwpKSkgewogIAkJICAg
 IHJhaWQtPmRpc2tzW2Rpc2tdLmRldiA9IHBhcmVudDsKISAJCSAgICByYWlkLT5kaXNrc1tk
 aXNrXS5mbGFncyB8PSAoQVJfREZfUFJFU0VOVCB8IEFSX0RGX09OTElORSk7CiAgCQkgICAg
 YXJzLT5yYWlkW3JhaWQtPnZvbHVtZV0gPSByYWlkOwogIAkJICAgIGFycy0+ZGlza19udW1i
 ZXJbcmFpZC0+dm9sdW1lXSA9IGRpc2s7CiAgCQkgICAgcmV0dmFsID0gMTsKLS0tIDIyMDIs
 MjIwOCAtLS0tCiAgCQlpZiAoIXN0cm5jbXAocmFpZC0+ZGlza3NbZGlza10uc2VyaWFsLCBh
 dGFkZXYtPnBhcmFtLnNlcmlhbCwKICAJCSAgICBzaXplb2YocmFpZC0+ZGlza3NbZGlza10u
 c2VyaWFsKSkpIHsKICAJCSAgICByYWlkLT5kaXNrc1tkaXNrXS5kZXYgPSBwYXJlbnQ7CiEg
 CQkgICAgcmFpZC0+ZGlza3NbZGlza10uZmxhZ3MgfD0gQVJfREZfUFJFU0VOVDsKICAJCSAg
 ICBhcnMtPnJhaWRbcmFpZC0+dm9sdW1lXSA9IHJhaWQ7CiAgCQkgICAgYXJzLT5kaXNrX251
 bWJlcltyYWlkLT52b2x1bWVdID0gZGlzazsKICAJCSAgICByZXR2YWwgPSAxOwoqKioqKioq
 KioqKioqKioKKioqIDIyMjIsMjIyOSAqKioqCiAgICAgIHN0cnVjdCBpbnRlbF9yYWlkX2Nv
 bmYgKm1ldGE7CiAgICAgIHN0cnVjdCBpbnRlbF9yYWlkX21hcHBpbmcgKm1hcDsKICAgICAg
 c3RydWN0IHRpbWV2YWwgdGltZXN0YW1wOwohICAgICB1X2ludDMyX3QgY2hlY2tzdW0sICpw
 dHI7CiAgICAgIGludCBjb3VudCwgZGlzaywgZXJyb3IgPSAwOwogICAgICBjaGFyICp0bXA7
 CiAgCiAgICAgIGlmICghKG1ldGEgPSAoc3RydWN0IGludGVsX3JhaWRfY29uZiAqKQotLS0g
 MjI0MSwyMjQ5IC0tLS0KICAgICAgc3RydWN0IGludGVsX3JhaWRfY29uZiAqbWV0YTsKICAg
 ICAgc3RydWN0IGludGVsX3JhaWRfbWFwcGluZyAqbWFwOwogICAgICBzdHJ1Y3QgdGltZXZh
 bCB0aW1lc3RhbXA7CiEgICAgIHVfaW50MzJfdCBjaGVja3N1bSwgKnB0ciwgcmVidWlsZF9m
 bGFnID0gSU5URUxfUkZfTk9STUFMOwogICAgICBpbnQgY291bnQsIGRpc2ssIGVycm9yID0g
 MDsKKyAgICAgdV9pbnQ4X3QgcmVidWlsZF90YXJnZXQgPSAweGZmOwogICAgICBjaGFyICp0
 bXA7CiAgCiAgICAgIGlmICghKG1ldGEgPSAoc3RydWN0IGludGVsX3JhaWRfY29uZiAqKQoq
 KioqKioqKioqKioqKioKKioqIDIyNTMsMjI4MiAqKioqCiAgCSAgICBtZXRhLT5kaXNrW2Rp
 c2tdLnNlY3RvcnMgPSByZHAtPmRpc2tzW2Rpc2tdLnNlY3RvcnM7CiAgCSAgICBtZXRhLT5k
 aXNrW2Rpc2tdLmlkID0gKGNoLT51bml0IDw8IDE2KSB8IEFUQV9ERVYoYXRhZGV2LT51bml0
 KTsKICAJfQohIAllbHNlCiAgCSAgICBtZXRhLT5kaXNrW2Rpc2tdLnNlY3RvcnMgPSByZHAt
 PnRvdGFsX3NlY3RvcnMgLyByZHAtPndpZHRoOwogIAltZXRhLT5kaXNrW2Rpc2tdLmZsYWdz
 ID0gMDsKISAJaWYgKHJkcC0+ZGlza3NbZGlza10uZmxhZ3MgJiBBUl9ERl9TUEFSRSkKICAJ
 ICAgIG1ldGEtPmRpc2tbZGlza10uZmxhZ3MgIHw9IElOVEVMX0ZfU1BBUkU7CiEgCWVsc2Ug
 ewohIAkgICAgaWYgKHJkcC0+ZGlza3NbZGlza10uZmxhZ3MgJiBBUl9ERl9PTkxJTkUpCiAg
 CQltZXRhLT5kaXNrW2Rpc2tdLmZsYWdzIHw9IElOVEVMX0ZfT05MSU5FOwogIAkgICAgZWxz
 ZQogIAkJbWV0YS0+ZGlza1tkaXNrXS5mbGFncyB8PSBJTlRFTF9GX0RPV047CiAgCSAgICBp
 ZiAocmRwLT5kaXNrc1tkaXNrXS5mbGFncyAmIEFSX0RGX0FTU0lHTkVEKQogIAkJbWV0YS0+
 ZGlza1tkaXNrXS5mbGFncyAgfD0gSU5URUxfRl9BU1NJR05FRDsKICAJfQogICAgICB9CiAg
 ICAgIG1hcCA9IChzdHJ1Y3QgaW50ZWxfcmFpZF9tYXBwaW5nICopJm1ldGEtPmRpc2tbbWV0
 YS0+dG90YWxfZGlza3NdOwogIAogICAgICBiY29weShyZHAtPm5hbWUsIG1hcC0+bmFtZSwg
 c2l6ZW9mKHJkcC0+bmFtZSkpOwogICAgICBtYXAtPnRvdGFsX3NlY3RvcnMgPSByZHAtPnRv
 dGFsX3NlY3RvcnM7CiEgICAgIG1hcC0+c3RhdGUgPSAxMjsgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCBTT1MgKi8KICAgICAgbWFwLT5vZmZz
 ZXQgPSByZHAtPm9mZnNldF9zZWN0b3JzOwogICAgICBtYXAtPnN0cmlwZV9jb3VudCA9IHJk
 cC0+dG90YWxfc2VjdG9ycyAvIChyZHAtPmludGVybGVhdmUqcmRwLT50b3RhbF9kaXNrcyk7
 CiAgICAgIG1hcC0+c3RyaXBlX3NlY3RvcnMgPSAgcmRwLT5pbnRlcmxlYXZlOwogICAgICBt
 YXAtPmRpc2tfc2VjdG9ycyA9IHJkcC0+dG90YWxfc2VjdG9ycyAvIHJkcC0+d2lkdGg7CiEg
 ICAgIG1hcC0+c3RhdHVzID0gSU5URUxfU19SRUFEWTsgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIC8qIFhYWCBTT1MgKi8KICAgICAgc3dpdGNoIChyZHAtPnR5cGUpIHsKICAg
 ICAgY2FzZSBBUl9UX1JBSUQwOgogIAltYXAtPnR5cGUgPSBJTlRFTF9UX1JBSUQwOwotLS0g
 MjI3MywyMzMwIC0tLS0KICAJICAgIG1ldGEtPmRpc2tbZGlza10uc2VjdG9ycyA9IHJkcC0+
 ZGlza3NbZGlza10uc2VjdG9yczsKICAJICAgIG1ldGEtPmRpc2tbZGlza10uaWQgPSAoY2gt
 PnVuaXQgPDwgMTYpIHwgQVRBX0RFVihhdGFkZXYtPnVuaXQpOwogIAl9CiEgCWVsc2Ugewog
 IAkgICAgbWV0YS0+ZGlza1tkaXNrXS5zZWN0b3JzID0gcmRwLT50b3RhbF9zZWN0b3JzIC8g
 cmRwLT53aWR0aDsKKyAJICAgIG1ldGEtPmRpc2tbZGlza10uaWQgPSAweGZmZmZmZmZmOwor
 IAl9CiAgCW1ldGEtPmRpc2tbZGlza10uZmxhZ3MgPSAwOwohIAkvKgohIAkgKiBSZWJ1aWxk
 aW5nIHN0YXR1czogCiEgCSAqICAgZHJpdmVyOgohIAkgKiAgICAgLSBBUl9ERl9PTkxJTkUg
 aXMgTk9UIHNldCBvbiBtaXJyb3IgZHJpdmUuCiEgCSAqICAgICAtIEFSX1NfUkVCVUlMRElO
 RyBpcyBzZXQuCiEgCSAqICAgICAtIEFSX0RGX1NQQVJFIGlzIHNldCBvbiBtaXJyb3IgZHJp
 dmUuCiEgCSAqICAgQklPUzogICAKISAJICogICAgIC0gSU5URUxfRl9PTkxJTkUgaXMgc2V0
 IG9uIGJvdGggbWFzdGVyIGFuZCBtaXJyb3IgZHJpdmUuCiEgCSAqICAgICAtIElOVEVMX1JG
 X1JFQlVJTERJTkcgaXMgc2V0LgohIAkgKiAgICAgLSBtaXJyb3IncyBkcml2ZSBudW1iZXIg
 aXMgaW4gbWFnaWNbMV0uCiEgCSAqLwohIAlpZiAoKHJkcC0+ZGlza3NbZGlza10uZmxhZ3Mg
 JiBBUl9ERl9TUEFSRSkgJiYKISAJICAgICAgKCEocmRwLT5zdGF0dXMgJiBBUl9TX1JFQlVJ
 TERJTkcpIHx8IChyZWJ1aWxkX3RhcmdldCAhPSAweGZmKSkpIHsKICAJICAgIG1ldGEtPmRp
 c2tbZGlza10uZmxhZ3MgIHw9IElOVEVMX0ZfU1BBUkU7CiEgCX0gZWxzZSB7CiEgCSAgICBp
 ZiAoKHJkcC0+ZGlza3NbZGlza10uZmxhZ3MgJiAoQVJfREZfT05MSU5FfEFSX0RGX1NQQVJF
 KSkpCiAgCQltZXRhLT5kaXNrW2Rpc2tdLmZsYWdzIHw9IElOVEVMX0ZfT05MSU5FOwogIAkg
 ICAgZWxzZQogIAkJbWV0YS0+ZGlza1tkaXNrXS5mbGFncyB8PSBJTlRFTF9GX0RPV047CiAg
 CSAgICBpZiAocmRwLT5kaXNrc1tkaXNrXS5mbGFncyAmIEFSX0RGX0FTU0lHTkVEKQogIAkJ
 bWV0YS0+ZGlza1tkaXNrXS5mbGFncyAgfD0gSU5URUxfRl9BU1NJR05FRDsKKyAJICAgIGlm
 IChyZHAtPmRpc2tzW2Rpc2tdLmZsYWdzICYgQVJfREZfU1BBUkUpIHsKKyAJCXJlYnVpbGRf
 dGFyZ2V0ID0gKHVfaW50OF90KWRpc2s7CisgCQlyZWJ1aWxkX2ZsYWcgfD0gSU5URUxfUkZf
 UkVCVUlMRElORzsKKyAJICAgIH0KICAJfQogICAgICB9CiAgICAgIG1hcCA9IChzdHJ1Y3Qg
 aW50ZWxfcmFpZF9tYXBwaW5nICopJm1ldGEtPmRpc2tbbWV0YS0+dG90YWxfZGlza3NdOwog
 IAogICAgICBiY29weShyZHAtPm5hbWUsIG1hcC0+bmFtZSwgc2l6ZW9mKHJkcC0+bmFtZSkp
 OwogICAgICBtYXAtPnRvdGFsX3NlY3RvcnMgPSByZHAtPnRvdGFsX3NlY3RvcnM7CiEgICAg
 IG1hcC0+c3RhdGUgPSAyNjg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIC8qIFhYWCAqLwogICAgICBtYXAtPm9mZnNldCA9IHJkcC0+b2Zmc2V0X3NlY3Rv
 cnM7CiAgICAgIG1hcC0+c3RyaXBlX2NvdW50ID0gcmRwLT50b3RhbF9zZWN0b3JzIC8gKHJk
 cC0+aW50ZXJsZWF2ZSpyZHAtPnRvdGFsX2Rpc2tzKTsKICAgICAgbWFwLT5zdHJpcGVfc2Vj
 dG9ycyA9ICByZHAtPmludGVybGVhdmU7CiAgICAgIG1hcC0+ZGlza19zZWN0b3JzID0gcmRw
 LT50b3RhbF9zZWN0b3JzIC8gcmRwLT53aWR0aDsKISAgICAgbWFwLT5yZWJ1aWxkX2NvdW50
 ID0gbWFwLT5zdHJpcGVfY291bnQgLyAyOyAgICAgICAgICAgICAgICAvKiBYWFggKi8KISAg
 ICAgbWFwLT5yZWJ1aWxkX2ZsYWcgPSByZWJ1aWxkX2ZsYWc7CiEgICAgIGlmIChyZHAtPnN0
 YXR1cyAmIEFSX1NfUkVCVUlMRElORykgeyAgICAgICAgICAgLyoga2VlcCB0aGlzIG9yZGVy
 ICovCiEgICAgIAltYXAtPnN0YXR1cyA9IElOVEVMX1NfRElTQUJMRUQ7CiEgICAgIH0gZWxz
 ZSBpZiAocmRwLT5zdGF0dXMgJiBBUl9TX1JFQURZKSB7CiEgICAgIAltYXAtPnN0YXR1cyA9
 IElOVEVMX1NfUkVBRFk7CiEgICAgIH0gZWxzZSBpZiAocmRwLT5zdGF0dXMgJiBBUl9TX0RF
 R1JBREVEKSB7CiEgCW1hcC0+c3RhdHVzID0gSU5URUxfU19ERUdSQURFRDsKISAgICAgfSBl
 bHNlIHsKISAJbWFwLT5zdGF0dXMgPSBJTlRFTF9TX0ZBSUxVUkU7CiEgICAgIH0KICAgICAg
 c3dpdGNoIChyZHAtPnR5cGUpIHsKICAgICAgY2FzZSBBUl9UX1JBSUQwOgogIAltYXAtPnR5
 cGUgPSBJTlRFTF9UX1JBSUQwOwoqKioqKioqKioqKioqKioKKioqIDIyOTYsMjMwMiAqKioq
 CiAgICAgIH0KICAgICAgbWFwLT50b3RhbF9kaXNrcyA9IHJkcC0+dG90YWxfZGlza3M7CiAg
 ICAgIG1hcC0+bWFnaWNbMF0gPSAweDAyOwohICAgICBtYXAtPm1hZ2ljWzFdID0gMHhmZjsK
 ICAgICAgbWFwLT5tYWdpY1syXSA9IDB4MDE7CiAgICAgIGZvciAoZGlzayA9IDA7IGRpc2sg
 PCByZHAtPnRvdGFsX2Rpc2tzOyBkaXNrKyspCiAgCW1hcC0+ZGlza19pZHhbZGlza10gPSBk
 aXNrOwotLS0gMjM0NCwyMzUwIC0tLS0KICAgICAgfQogICAgICBtYXAtPnRvdGFsX2Rpc2tz
 ID0gcmRwLT50b3RhbF9kaXNrczsKICAgICAgbWFwLT5tYWdpY1swXSA9IDB4MDI7CiEgICAg
 IG1hcC0+bWFnaWNbMV0gPSByZWJ1aWxkX3RhcmdldDsKICAgICAgbWFwLT5tYWdpY1syXSA9
 IDB4MDE7CiAgICAgIGZvciAoZGlzayA9IDA7IGRpc2sgPCByZHAtPnRvdGFsX2Rpc2tzOyBk
 aXNrKyspCiAgCW1hcC0+ZGlza19pZHhbZGlza10gPSBkaXNrOwoqKioqKioqKioqKioqKioK
 KioqIDQ1MzAsNDUzNSAqKioqCi0tLSA0NTc4LDQ1ODUgLS0tLQogIAlwcmludGYoInRvdGFs
 X3NlY3RvcnMgICAgICAgJWp1XG4iLCBtYXAtPnRvdGFsX3NlY3RvcnMpOwogIAlwcmludGYo
 InN0YXRlICAgICAgICAgICAgICAgJXVcbiIsIG1hcC0+c3RhdGUpOwogIAlwcmludGYoInJl
 c2VydmVkICAgICAgICAgICAgJXVcbiIsIG1hcC0+cmVzZXJ2ZWQpOworIAlwcmludGYoInJl
 YnVpbGRfY291bnQgICAgICAgJXVcbiIsIG1hcC0+cmVidWlsZF9jb3VudCk7CisgCXByaW50
 ZigicmVidWlsZF9mbGFnICAgICAgICAweCUwOHhcbiIsIG1hcC0+cmVidWlsZF9mbGFnKTsK
 ICAJcHJpbnRmKCJvZmZzZXQgICAgICAgICAgICAgICV1XG4iLCBtYXAtPm9mZnNldCk7CiAg
 CXByaW50ZigiZGlza19zZWN0b3JzICAgICAgICAldVxuIiwgbWFwLT5kaXNrX3NlY3RvcnMp
 OwogIAlwcmludGYoInN0cmlwZV9jb3VudCAgICAgICAgJXVcbiIsIG1hcC0+c3RyaXBlX2Nv
 dW50KTsK
 --------------090608030702030508080702--


More information about the freebsd-bugs mailing list