From mboxrd@z Thu Jan 1 00:00:00 1970 From: majianpeng Subject: [RFC PATCH] raid5: Add R5_ReadNoMerge flag which prevent bio from merging at block layer Date: Tue, 3 Jul 2012 14:23:41 +0800 Message-ID: <201207031423377650880@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 , axboe List-Id: linux-raid.ids QmVjYXVzZSBiaW9zIHdpbGwgbWVyZ2UgYXQgYmxvY2stbGF5ZXIsc28gYmlvcy1lcnJvciBtYXkg Y2F1c2VkIGJ5IG90aGVyDQpiaW8gd2hpY2ggYmUgbWVyZ2VkIGludG8gdG8gdGhlIHNhbWUgcmVx dWVzdC4NClVzaW5nIHRoaXMgZmxhZyxpdCB3aWxsIGZpbmQgZXhhY3RseSBlcnJvci1zZWN0b3Ig YW5kIG5vdCBkbyByZWR1bmRhbnQNCm9wZXJhdGlvbiBsaWtlIHJlLXdyaXRlIGFuZCByZS1yZWFk Lg0KDQpTaWduZWQtb2ZmLWJ5OiBtYWppYW5wZW5nIDxtYWppYW5wZW5nQGdtYWlsLmNvbT4NCi0t LQ0KIGJsb2NrL2Jsay1jb3JlLmMgICB8ICAgIDggKysrKysrKysNCiBkcml2ZXJzL21kL3JhaWQ1 LmMgfCAgIDE2ICsrKysrKysrKysrKystLS0NCiBkcml2ZXJzL21kL3JhaWQ1LmggfCAgICAxICsN CiAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuYw0KaW5kZXggM2M5 MjNhNy4uZWUwNGJmYyAxMDA2NDQNCi0tLSBhL2Jsb2NrL2Jsay1jb3JlLmMNCisrKyBiL2Jsb2Nr L2Jsay1jb3JlLmMNCkBAIC0xNDAxLDYgKzE0MDEsOSBAQCB2b2lkIGluaXRfcmVxdWVzdF9mcm9t X2JpbyhzdHJ1Y3QgcmVxdWVzdCAqcmVxLCBzdHJ1Y3QgYmlvICpiaW8pDQogCWlmIChiaW8tPmJp X3J3ICYgUkVRX1JBSEVBRCkNCiAJCXJlcS0+Y21kX2ZsYWdzIHw9IFJFUV9GQUlMRkFTVF9NQVNL Ow0KIA0KKwlpZiAodW5saWtlbHkoYmlvLT5iaV9ydyAmIFJFUV9OT01FUkdFKSkNCisJCXJlcS0+ Y21kX2ZsYWdzIHw9IFJFUV9OT01FUkdFOw0KKw0KIAlyZXEtPmVycm9ycyA9IDA7DQogCXJlcS0+ X19zZWN0b3IgPSBiaW8tPmJpX3NlY3RvcjsNCiAJcmVxLT5pb3ByaW8gPSBiaW9fcHJpbyhiaW8p Ow0KQEAgLTE0MjgsNiArMTQzMSwxMSBAQCB2b2lkIGJsa19xdWV1ZV9iaW8oc3RydWN0IHJlcXVl c3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbykNCiAJCWdvdG8gZ2V0X3JxOw0KIAl9DQogDQor CWlmICh1bmxpa2VseShiaW8tPmJpX3J3ICYgUkVRX05PTUVSR0UpKSB7DQorCQlzcGluX2xvY2tf aXJxKHEtPnF1ZXVlX2xvY2spOw0KKwkJd2hlcmUgPSBFTEVWQVRPUl9JTlNFUlRfQkFDSzsNCisJ CWdvdG8gZ2V0X3JxOw0KKwl9DQogCS8qDQogCSAqIENoZWNrIGlmIHdlIGNhbiBtZXJnZSB3aXRo IHRoZSBwbHVnZ2VkIGxpc3QgYmVmb3JlIGdyYWJiaW5nDQogCSAqIGFueSBsb2Nrcy4NCmRpZmYg LS1naXQgYS9kcml2ZXJzL21kL3JhaWQ1LmMgYi9kcml2ZXJzL21kL3JhaWQ1LmMNCmluZGV4IGQy Njc2NzIuLjA0Zjc4ZDIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21kL3JhaWQ1LmMNCisrKyBiL2Ry aXZlcnMvbWQvcmFpZDUuYw0KQEAgLTYzMiw2ICs2MzIsOSBAQCBzdGF0aWMgdm9pZCBvcHNfcnVu X2lvKHN0cnVjdCBzdHJpcGVfaGVhZCAqc2gsIHN0cnVjdCBzdHJpcGVfaGVhZF9zdGF0ZSAqcykN CiAJCQllbHNlDQogCQkJCWJpLT5iaV9zZWN0b3IgPSAoc2gtPnNlY3Rvcg0KIAkJCQkJCSArIHJk ZXYtPmRhdGFfb2Zmc2V0KTsNCisJCQlpZiAodGVzdF9iaXQoUjVfUmVhZE5vTWVyZ2UsICZzaC0+ ZGV2W2ldLmZsYWdzKSkNCisJCQkJYmktPmJpX3J3IHw9IFJFUV9OT01FUkdFOw0KKw0KIAkJCWJp LT5iaV9mbGFncyA9IDEgPDwgQklPX1VQVE9EQVRFOw0KIAkJCWJpLT5iaV9pZHggPSAwOw0KIAkJ CWJpLT5iaV9pb192ZWNbMF0uYnZfbGVuID0gU1RSSVBFX1NJWkU7DQpAQCAtMTczMSw3ICsxNzM0 LDkgQEAgc3RhdGljIHZvaWQgcmFpZDVfZW5kX3JlYWRfcmVxdWVzdChzdHJ1Y3QgYmlvICogYmks IGludCBlcnJvcikNCiAJCQlhdG9taWNfYWRkKFNUUklQRV9TRUNUT1JTLCAmcmRldi0+Y29ycmVj dGVkX2Vycm9ycyk7DQogCQkJY2xlYXJfYml0KFI1X1JlYWRFcnJvciwgJnNoLT5kZXZbaV0uZmxh Z3MpOw0KIAkJCWNsZWFyX2JpdChSNV9SZVdyaXRlLCAmc2gtPmRldltpXS5mbGFncyk7DQotCQl9 DQorCQl9IGVsc2UgaWYgKHRlc3RfYml0KFI1X1JlYWROb01lcmdlLCAmc2gtPmRldltpXS5mbGFn cykpDQorCQkJY2xlYXJfYml0KFI1X1JlYWROb01lcmdlLCAmc2gtPmRldltpXS5mbGFncyk7DQor DQogCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPnJlYWRfZXJyb3JzKSkNCiAJCQlhdG9taWNfc2V0 KCZyZGV2LT5yZWFkX2Vycm9ycywgMCk7DQogCX0gZWxzZSB7DQpAQCAtMTc3Myw3ICsxNzc4LDEx IEBAIHN0YXRpYyB2b2lkIHJhaWQ1X2VuZF9yZWFkX3JlcXVlc3Qoc3RydWN0IGJpbyAqIGJpLCBp bnQgZXJyb3IpDQogCQllbHNlDQogCQkJcmV0cnkgPSAxOw0KIAkJaWYgKHJldHJ5KQ0KLQkJCXNl dF9iaXQoUjVfUmVhZEVycm9yLCAmc2gtPmRldltpXS5mbGFncyk7DQorCQkJaWYgKHRlc3RfYml0 KFI1X1JlYWROb01lcmdlLCAmc2gtPmRldltpXS5mbGFncykpIHsNCisJCQkJc2V0X2JpdChSNV9S ZWFkRXJyb3IsICZzaC0+ZGV2W2ldLmZsYWdzKTsNCisJCQkJY2xlYXJfYml0KFI1X1JlYWROb01l cmdlLCAmc2gtPmRldltpXS5mbGFncyk7DQorCQkJfSBlbHNlDQorCQkJCXNldF9iaXQoUjVfUmVh ZE5vTWVyZ2UsICZzaC0+ZGV2W2ldLmZsYWdzKTsNCiAJCWVsc2Ugew0KIAkJCWNsZWFyX2JpdChS NV9SZWFkRXJyb3IsICZzaC0+ZGV2W2ldLmZsYWdzKTsNCiAJCQljbGVhcl9iaXQoUjVfUmVXcml0 ZSwgJnNoLT5kZXZbaV0uZmxhZ3MpOw0KQEAgLTQ0ODEsNyArNDQ5MCw4IEBAIHN0YXRpYyBpbnQg IHJldHJ5X2FsaWduZWRfcmVhZChzdHJ1Y3QgcjVjb25mICpjb25mLCBzdHJ1Y3QgYmlvICpyYWlk X2JpbykNCiAJCQljb25mLT5yZXRyeV9yZWFkX2FsaWduZWQgPSByYWlkX2JpbzsNCiAJCQlyZXR1 cm4gaGFuZGxlZDsNCiAJCX0NCi0NCisJCWlmIChsaWtlbHkocmFpZF9iaW8tPmJpX3NpemUgPj4g OSkgPiBTVFJJUEVfU0VDVE9SUykNCisJCQlzZXRfYml0KFI1X1JlYWROb01lcmdlLCAmc2gtPmRl dltkZF9pZHhdLmZsYWdzKTsNCiAJCWhhbmRsZV9zdHJpcGUoc2gpOw0KIAkJcmVsZWFzZV9zdHJp cGUoc2gpOw0KIAkJaGFuZGxlZCsrOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDUuaCBi L2RyaXZlcnMvbWQvcmFpZDUuaA0KaW5kZXggMjE2NDAyMS4uNjc2N2QwNyAxMDA2NDQNCi0tLSBh L2RyaXZlcnMvbWQvcmFpZDUuaA0KKysrIGIvZHJpdmVycy9tZC9yYWlkNS5oDQpAQCAtMjczLDYg KzI3Myw3IEBAIGVudW0gcjVkZXZfZmxhZ3Mgew0KIAlSNV9XYW50d3JpdGUsDQogCVI1X092ZXJs YXAsCS8qIFRoZXJlIGlzIGEgcGVuZGluZyBvdmVybGFwcGluZyByZXF1ZXN0DQogCQkJICogb24g dGhpcyBibG9jayAqLw0KKwlSNV9SZWFkTm9NZXJnZSwgLyogcHJldmVudCBiaW8gZnJvbSBtZXJn aW5nIGluIGJsb2NrLWxheWVyICovDQogCVI1X1JlYWRFcnJvciwJLyogc2VlbiBhIHJlYWQgZXJy b3IgaGVyZSByZWNlbnRseSAqLw0KIAlSNV9SZVdyaXRlLAkvKiBoYXZlIHRyaWVkIHRvIG92ZXIt d3JpdGUgdGhlIHJlYWRlcnJvciAqLw0KIA0KLS0gDQoxLjcuNS40DQo=