From mboxrd@z Thu Jan 1 00:00:00 1970 From: majianpeng Subject: [PATCH 2/2] md:Rewrite the md_write_start(). Date: Sat, 2 Jun 2012 16:16:40 +0800 Message-ID: <201206021616382814001@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Return-path: Sender: linux-raid-owner@vger.kernel.org To: Neil Brown Cc: linux-raid List-Id: linux-raid.ids UmVtb3ZlIHRoZSBqdWRnZW1lbnQgImJpb19kYXRhX2RpcihiaSkgIT0gV1JJVEUiIGluIG1kX3dy aXRlX3N0YXJ0KCkuUHV0DQppdCBiZWZvcmUgY2FsbCBtZF93cml0ZV9zdGFydC4NCg0KU2lnbmVk LW9mZi1ieTogbWFqaWFucGVuZyA8bWFqaWFucGVuZ0BnbWFpbC5jb20+DQotLS0NCiBkcml2ZXJz L21kL21kLmMgICAgIHwgICAgNCArLS0tDQogZHJpdmVycy9tZC9tZC5oICAgICB8ICAgIDIgKy0N CiBkcml2ZXJzL21kL3JhaWQxLmMgIHwgICAgNCArKy0tDQogZHJpdmVycy9tZC9yYWlkMTAuYyB8 ICAgIDMgKystDQogZHJpdmVycy9tZC9yYWlkNS5jICB8ICAgIDMgKystDQogNSBmaWxlcyBjaGFu Z2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21kL21kLmMgYi9kcml2ZXJzL21kL21kLmMNCmluZGV4IDFjMmY5MDQuLmUwMDlmMWQgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL21kL21kLmMNCisrKyBiL2RyaXZlcnMvbWQvbWQuYw0KQEAgLTcx OTgsMTEgKzcxOTgsOSBAQCB2b2lkIG1kX2RvbmVfc3luYyhzdHJ1Y3QgbWRkZXYgKm1kZGV2LCBp bnQgYmxvY2tzLCBpbnQgb2spDQogICogaW4gc3VwZXJibG9jaykgYmVmb3JlIHdyaXRpbmcsIHNj aGVkdWxlIGEgc3VwZXJibG9jayB1cGRhdGUNCiAgKiBhbmQgd2FpdCBmb3IgaXQgdG8gY29tcGxl dGUuDQogICovDQotdm9pZCBtZF93cml0ZV9zdGFydChzdHJ1Y3QgbWRkZXYgKm1kZGV2LCBzdHJ1 Y3QgYmlvICpiaSkNCit2b2lkIG1kX3dyaXRlX3N0YXJ0KHN0cnVjdCBtZGRldiAqbWRkZXYpDQog ew0KIAlpbnQgZGlkX2NoYW5nZSA9IDA7DQotCWlmIChiaW9fZGF0YV9kaXIoYmkpICE9IFdSSVRF KQ0KLQkJcmV0dXJuOw0KIA0KIAlCVUdfT04obWRkZXYtPnJvID09IDEpOw0KIAlpZiAobWRkZXYt PnJvID09IDIpIHsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL21kLmggYi9kcml2ZXJzL21kL21k LmgNCmluZGV4IDdiNGEzYzMuLjkwNmUzZGIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21kL21kLmgN CisrKyBiL2RyaXZlcnMvbWQvbWQuaA0KQEAgLTU5Myw3ICs1OTMsNyBAQCBleHRlcm4gc3RydWN0 IG1kX3RocmVhZCAqbWRfcmVnaXN0ZXJfdGhyZWFkKA0KIGV4dGVybiB2b2lkIG1kX3VucmVnaXN0 ZXJfdGhyZWFkKHN0cnVjdCBtZF90aHJlYWQgKip0aHJlYWRwKTsNCiBleHRlcm4gdm9pZCBtZF93 YWtldXBfdGhyZWFkKHN0cnVjdCBtZF90aHJlYWQgKnRocmVhZCk7DQogZXh0ZXJuIHZvaWQgbWRf Y2hlY2tfcmVjb3Zlcnkoc3RydWN0IG1kZGV2ICptZGRldik7DQotZXh0ZXJuIHZvaWQgbWRfd3Jp dGVfc3RhcnQoc3RydWN0IG1kZGV2ICptZGRldiwgc3RydWN0IGJpbyAqYmkpOw0KK2V4dGVybiB2 b2lkIG1kX3dyaXRlX3N0YXJ0KHN0cnVjdCBtZGRldiAqbWRkZXYpOw0KIGV4dGVybiB2b2lkIG1k X3dyaXRlX2VuZChzdHJ1Y3QgbWRkZXYgKm1kZGV2KTsNCiBleHRlcm4gdm9pZCBtZF9kb25lX3N5 bmMoc3RydWN0IG1kZGV2ICptZGRldiwgaW50IGJsb2NrcywgaW50IG9rKTsNCiBleHRlcm4gdm9p ZCBtZF9lcnJvcihzdHJ1Y3QgbWRkZXYgKm1kZGV2LCBzdHJ1Y3QgbWRfcmRldiAqcmRldik7DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkMS5jIGIvZHJpdmVycy9tZC9yYWlkMS5jDQppbmRl eCA4MzVkZTcxLi40YmZhNzdkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZC9yYWlkMS5jDQorKysg Yi9kcml2ZXJzL21kL3JhaWQxLmMNCkBAIC04OTMsOCArODkzLDggQEAgc3RhdGljIHZvaWQgbWFr ZV9yZXF1ZXN0KHN0cnVjdCBtZGRldiAqbWRkZXYsIHN0cnVjdCBiaW8gKiBiaW8pDQogCSAqIHRo cmVhZCBoYXMgcHV0IHVwIGEgYmFyIGZvciBuZXcgcmVxdWVzdHMuDQogCSAqIENvbnRpbnVlIGlt bWVkaWF0ZWx5IGlmIG5vIHJlc3luYyBpcyBhY3RpdmUgY3VycmVudGx5Lg0KIAkgKi8NCi0NCi0J bWRfd3JpdGVfc3RhcnQobWRkZXYsIGJpbyk7IC8qIHdhaXQgb24gc3VwZXJibG9jayB1cGRhdGUg ZWFybHkgKi8NCisJaWYgKHJ3ID09IFdSSVRFKQ0KKwkJbWRfd3JpdGVfc3RhcnQobWRkZXYpOyAv KiB3YWl0IG9uIHN1cGVyYmxvY2sgdXBkYXRlIGVhcmx5ICovDQogDQogCWlmIChiaW9fZGF0YV9k aXIoYmlvKSA9PSBXUklURSAmJg0KIAkgICAgYmlvLT5iaV9zZWN0b3IgKyBiaW8tPmJpX3NpemUv NTEyID4gbWRkZXYtPnN1c3BlbmRfbG8gJiYNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQx MC5jIGIvZHJpdmVycy9tZC9yYWlkMTAuYw0KaW5kZXggOTg3ZGIzNy4uYjEwY2I5OSAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDEwLmMNCisrKyBiL2RyaXZlcnMvbWQvcmFpZDEwLmMNCkBA IC0xMDk4LDcgKzEwOTgsOCBAQCBzdGF0aWMgdm9pZCBtYWtlX3JlcXVlc3Qoc3RydWN0IG1kZGV2 ICptZGRldiwgc3RydWN0IGJpbyAqIGJpbykNCiAJCXJldHVybjsNCiAJfQ0KIA0KLQltZF93cml0 ZV9zdGFydChtZGRldiwgYmlvKTsNCisJaWYgKHJ3ID09IFdSSVRFKQ0KKwkJbWRfd3JpdGVfc3Rh cnQobWRkZXYpOw0KIA0KIAkvKg0KIAkgKiBSZWdpc3RlciB0aGUgbmV3IHJlcXVlc3QgYW5kIHdh aXQgaWYgdGhlIHJlY29uc3RydWN0aW9uDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkNS5j IGIvZHJpdmVycy9tZC9yYWlkNS5jDQppbmRleCA1NjUzMTI1Li44ZTMzMGY4IDEwMDY0NA0KLS0t IGEvZHJpdmVycy9tZC9yYWlkNS5jDQorKysgYi9kcml2ZXJzL21kL3JhaWQ1LmMNCkBAIC0zOTgz LDcgKzM5ODMsOCBAQCBzdGF0aWMgdm9pZCBtYWtlX3JlcXVlc3Qoc3RydWN0IG1kZGV2ICptZGRl diwgc3RydWN0IGJpbyAqIGJpKQ0KIAkgICAgIGNodW5rX2FsaWduZWRfcmVhZChtZGRldixiaSkp DQogCQlyZXR1cm47DQogDQotCW1kX3dyaXRlX3N0YXJ0KG1kZGV2LCBiaSk7DQorCWlmIChydyA9 PSBXUklURSkNCisJCW1kX3dyaXRlX3N0YXJ0KG1kZGV2KTsNCiANCiAJbG9naWNhbF9zZWN0b3Ig PSBiaS0+Ymlfc2VjdG9yICYgfigoc2VjdG9yX3QpU1RSSVBFX1NFQ1RPUlMtMSk7DQogCWxhc3Rf c2VjdG9yID0gYmktPmJpX3NlY3RvciArIChiaS0+Ymlfc2l6ZT4+OSk7DQotLSANCjEuNy41LjQN Cg0KDQoNCi0tLS0tLS0tLS0tLS0tDQptYWppYW5wZW5n