Date: Fri, 5 Sep 2008 02:40:03 GMT From: Hideki SAKAMOTO <hsakamt@tsnr.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/95459: Rebooting the system while rebuilding RAID (Intel MatrixRAID) results in data loss Message-ID: <200809050240.m852e3rY083906@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/95459; it has been noted by GNATS. From: Hideki SAKAMOTO <hsakamt@tsnr.com> To: bug-followup@FreeBSD.org, be9-ml@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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809050240.m852e3rY083906>
