From mboxrd@z Thu Jan 1 00:00:00 1970 From: "majianpeng" Subject: Re: Re: [PATCH] md/raid1:combine code in fix_read_error andfix_sync_read_error. Date: Tue, 10 Apr 2012 09:17:41 +0800 Message-ID: <201204100917374847627@gmail.com> References: <201204061515339217832@gmail.com>, <20120410094706.1f45aaec@notabene.brown> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Return-path: Sender: linux-raid-owner@vger.kernel.org To: NeilBrown Cc: linux-raid List-Id: linux-raid.ids VGhhbmtzLE5laWwuSSBkaWQgbm90ICBub3RpY2UgdGhlIGRhdGEgYnVmZiBpcyB0aGUgc2FtZSB3 aGVuIHdyaXRlIGFuZCByZWFkLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0JCQkJIA0KbWFqaWFucGVu Zw0KMjAxMi0wNC0xMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQq3orz+yMujuk5laWxCcm93bg0Kt6LLzcjVxtqjujIwMTIt MDQtMTAgMDc6NDc6MTUNCsrVvP7Iy6O6bWFqaWFucGVuZw0Ks63LzaO6bGludXgtcmFpZA0K1vfM 4qO6UmU6IFtQQVRDSF0gbWQvcmFpZDE6Y29tYmluZSBjb2RlIGluIGZpeF9yZWFkX2Vycm9yIGFu ZGZpeF9zeW5jX3JlYWRfZXJyb3IuDQoNCk9uIEZyaSwgNiBBcHIgMjAxMiAxNToxNTozOCArMDgw MCAibWFqaWFucGVuZyIgPG1hamlhbnBlbmdAZ21haWwuY29tPiB3cm90ZToNCg0KPiA+RnJvbSBk OGQ1MDQ0ZTY1ZWQyYmVhMTVlMTM1OTE4Njk5Nzc3YzQ5YjZmMjI0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KPiBGcm9tOiBtYWppYW5wZW5nIDxtYWppYW5wZW5nQGdtYWlsLmNvbT4NCj4gRGF0 ZTogRnJpLCA2IEFwciAyMDEyIDE1OjA3OjMzICswODAwDQo+IFN1YmplY3Q6IFtQQVRDSF0gbWQv cmFpZDE6Y29tYmluZSBjb2RlIGluIGZpeF9yZWFkX2Vycm9yIGFuZA0KPiAgZml4X3N5bmNfcmVh ZF9lcnJvci4NCj4NCg0KDQp5b3VyIGV4cGxhbmF0aW9uIGZvciB0aGUgcGF0Y2ggaXMsIGFnYWlu LCB0b28gc2hvcnQuDQoNCkkgZG9uJ3QgYWdyZWUgd2l0aCB0aGlzIHBhdGNoLCBJJ2QgcmF0aGVy IGxlYXZlIGl0IGFzIGl0IGlzLg0KDQpJIHdhbnQgdG8gcGVyZm9ybSBhbGwgdGhlIHdyaXRlcyBi ZWZvcmUgYW55IHJlYWRzLg0KDQpJZiBhIHJlYWQgZmFpbHMsIEkgY2Fubm90IGJlIGNlcnRhaW4g d2hhdCB0aGUgY29udGVudHMgb2YgdGhlIGJ1ZmZlciBhcmUsIHNvDQpJIGRvbid0IHdhbnQgdG8g cmlzayB3cml0aW5nIGl0IGFueXdoZXJlLg0KDQpUaGFua3MsDQpOZWlsQnJvd24NCg0KDQo+IA0K PiBTaWduZWQtb2ZmLWJ5OiBtYWppYW5wZW5nIDxtYWppYW5wZW5nQGdtYWlsLmNvbT4NCj4gLS0t DQo+ICBkcml2ZXJzL21kL3JhaWQxLmMgfCAgIDM2ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiAgMSBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDI4IGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDEuYyBiL2RyaXZlcnMv bWQvcmFpZDEuYw0KPiBpbmRleCBkMzVlNGM5Li5hOWE0MzYxIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL21kL3JhaWQxLmMNCj4gKysrIGIvZHJpdmVycy9tZC9yYWlkMS5jDQo+IEBAIC0xNjAzLDcg KzE2MDMsNiBAQCBzdGF0aWMgaW50IGZpeF9zeW5jX3JlYWRfZXJyb3Ioc3RydWN0IHIxYmlvICpy MV9iaW8pDQo+ICAJCWludCBkID0gcjFfYmlvLT5yZWFkX2Rpc2s7DQo+ICAJCWludCBzdWNjZXNz ID0gMDsNCj4gIAkJc3RydWN0IG1kX3JkZXYgKnJkZXY7DQo+IC0JCWludCBzdGFydDsNCj4gIA0K PiAgCQlpZiAocyA+IChQQUdFX1NJWkU+PjkpKQ0KPiAgCQkJcyA9IFBBR0VfU0laRSA+PiA5Ow0K PiBAQCAtMTY2MSw3ICsxNjYwLDYgQEAgc3RhdGljIGludCBmaXhfc3luY19yZWFkX2Vycm9yKHN0 cnVjdCByMWJpbyAqcjFfYmlvKQ0KPiAgCQkJY29udGludWU7DQo+ICAJCX0NCj4gIA0KPiAtCQlz dGFydCA9IGQ7DQo+ICAJCS8qIHdyaXRlIGl0IGJhY2sgYW5kIHJlLXJlYWQgKi8NCj4gIAkJd2hp bGUgKGQgIT0gcjFfYmlvLT5yZWFkX2Rpc2spIHsNCj4gIAkJCWlmIChkID09IDApDQo+IEBAIC0x Njc1LDIxICsxNjczLDEyIEBAIHN0YXRpYyBpbnQgZml4X3N5bmNfcmVhZF9lcnJvcihzdHJ1Y3Qg cjFiaW8gKnIxX2JpbykNCj4gIAkJCQkJICAgIFdSSVRFKSA9PSAwKSB7DQo+ICAJCQkJcjFfYmlv LT5iaW9zW2RdLT5iaV9lbmRfaW8gPSBOVUxMOw0KPiAgCQkJCXJkZXZfZGVjX3BlbmRpbmcocmRl diwgbWRkZXYpOw0KPiAtCQkJfQ0KPiAtCQl9DQo+IC0JCWQgPSBzdGFydDsNCj4gLQkJd2hpbGUg KGQgIT0gcjFfYmlvLT5yZWFkX2Rpc2spIHsNCj4gLQkJCWlmIChkID09IDApDQo+IC0JCQkJZCA9 IGNvbmYtPnJhaWRfZGlza3MgKiAyOw0KPiAtCQkJZC0tOw0KPiAtCQkJaWYgKHIxX2Jpby0+Ymlv c1tkXS0+YmlfZW5kX2lvICE9IGVuZF9zeW5jX3JlYWQpDQo+IC0JCQkJY29udGludWU7DQo+IC0J CQlyZGV2ID0gY29uZi0+bWlycm9yc1tkXS5yZGV2Ow0KPiAtCQkJaWYgKHIxX3N5bmNfcGFnZV9p byhyZGV2LCBzZWN0LCBzLA0KPiAtCQkJCQkgICAgYmlvLT5iaV9pb192ZWNbaWR4XS5idl9wYWdl LA0KPiAtCQkJCQkgICAgUkVBRCkgIT0gMCkNCj4gKwkJCX0gZWxzZSBpZiAocjFfc3luY19wYWdl X2lvKHJkZXYsIHNlY3QsIHMsDQo+ICsJCQkJCSAgICBiaW8tPmJpX2lvX3ZlY1tpZHhdLmJ2X3Bh Z2UsIFJFQUQpKQ0KPiAgCQkJCWF0b21pY19hZGQocywgJnJkZXYtPmNvcnJlY3RlZF9lcnJvcnMp Ow0KPiArDQo+ICAJCX0NCj4gKw0KPiAgCQlzZWN0b3JzIC09IHM7DQo+ICAJCXNlY3QgKz0gczsN Cj4gIAkJaWR4ICsrOw0KPiBAQCAtMTg0MSw3ICsxODMwLDYgQEAgc3RhdGljIHZvaWQgZml4X3Jl YWRfZXJyb3Ioc3RydWN0IHIxY29uZiAqY29uZiwgaW50IHJlYWRfZGlzaywNCj4gIAkJaW50IHMg PSBzZWN0b3JzOw0KPiAgCQlpbnQgZCA9IHJlYWRfZGlzazsNCj4gIAkJaW50IHN1Y2Nlc3MgPSAw Ow0KPiAtCQlpbnQgc3RhcnQ7DQo+ICAJCXN0cnVjdCBtZF9yZGV2ICpyZGV2Ow0KPiAgDQo+ICAJ CWlmIChzID4gKFBBR0VfU0laRT4+OSkpDQo+IEBAIC0xODc4LDE5ICsxODY2LDggQEAgc3RhdGlj IHZvaWQgZml4X3JlYWRfZXJyb3Ioc3RydWN0IHIxY29uZiAqY29uZiwgaW50IHJlYWRfZGlzaywN Cj4gIAkJCQltZF9lcnJvcihtZGRldiwgcmRldik7DQo+ICAJCQlicmVhazsNCj4gIAkJfQ0KPiAr DQo+ICAJCS8qIHdyaXRlIGl0IGJhY2sgYW5kIHJlLXJlYWQgKi8NCj4gLQkJc3RhcnQgPSBkOw0K PiAtCQl3aGlsZSAoZCAhPSByZWFkX2Rpc2spIHsNCj4gLQkJCWlmIChkPT0wKQ0KPiAtCQkJCWQg PSBjb25mLT5yYWlkX2Rpc2tzICogMjsNCj4gLQkJCWQtLTsNCj4gLQkJCXJkZXYgPSBjb25mLT5t aXJyb3JzW2RdLnJkZXY7DQo+IC0JCQlpZiAocmRldiAmJg0KPiAtCQkJICAgIHRlc3RfYml0KElu X3N5bmMsICZyZGV2LT5mbGFncykpDQo+IC0JCQkJcjFfc3luY19wYWdlX2lvKHJkZXYsIHNlY3Qs IHMsDQo+IC0JCQkJCQljb25mLT50bXBwYWdlLCBXUklURSk7DQo+IC0JCX0NCj4gLQkJZCA9IHN0 YXJ0Ow0KPiAgCQl3aGlsZSAoZCAhPSByZWFkX2Rpc2spIHsNCj4gIAkJCWNoYXIgYltCREVWTkFN RV9TSVpFXTsNCj4gIAkJCWlmIChkPT0wKQ0KPiBAQCAtMTkwMCw2ICsxODc3LDkgQEAgc3RhdGlj IHZvaWQgZml4X3JlYWRfZXJyb3Ioc3RydWN0IHIxY29uZiAqY29uZiwgaW50IHJlYWRfZGlzaywN Cj4gIAkJCWlmIChyZGV2ICYmDQo+ICAJCQkgICAgdGVzdF9iaXQoSW5fc3luYywgJnJkZXYtPmZs YWdzKSkgew0KPiAgCQkJCWlmIChyMV9zeW5jX3BhZ2VfaW8ocmRldiwgc2VjdCwgcywNCj4gKwkJ CQkJCWNvbmYtPnRtcHBhZ2UsIFdSSVRFKSA9PSAwKQ0KPiArCQkJCQljb250aW51ZTsNCj4gKwkJ CQllbHNlIGlmIChyMV9zeW5jX3BhZ2VfaW8ocmRldiwgc2VjdCwgcywNCj4gIAkJCQkJCSAgICBj b25mLT50bXBwYWdlLCBSRUFEKSkgew0KPiAgCQkJCQlhdG9taWNfYWRkKHMsICZyZGV2LT5jb3Jy ZWN0ZWRfZXJyb3JzKTsNCj4gIAkJCQkJcHJpbnRrKEtFUk5fSU5GTw0KDQo=