From mboxrd@z Thu Jan 1 00:00:00 1970 From: majianpeng Subject: Re: Re: [PATCH 2/2] ceph: Implement writev/pwritev for sync operation. Date: Fri, 6 Sep 2013 08:46:31 +0800 Message-ID: <201309060846283230053@gmail.com> References: <201309031652122920661@gmail.com>, <5227339C.5010706@intel.com> Reply-To: majianpeng Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: base64 Cc: sage , ceph-devel , linux-fsdevel To: =?iso-8859-1?B?WWFuLCBaaGVuZw==?= Return-path: Sender: ceph-devel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org PkhpLA0KPg0KPlRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLg0KPg0KPk9uIDA5LzAzLzIwMTMgMDQ6 NTIgUE0sIG1hamlhbnBlbmcgd3JvdGU6DQo+PiBGb3Igd3JpdGV2L3B3cml0ZXYgc3luYy1vcGVy YXRvaW4sIGNlcGggb25seSBkbyB0aGUgZmlyc3QgaW92Lg0KPj4gSXQgZG9uJ3QgdGhpbmsgb3Ro ZXIgaW92cy5Ob3cgaW1wbGVtZW50IHRoaXMuDQo+PiBJIGRpdmlkZWQgdGhlIHdyaXRlLXN5bmMt b3BlcmF0aW9uIGludG8gdHdvIGZ1bmN0aW9ucy5PbmUgZm9yDQo+PiBkaXJlY3Qtd3JpdGUsb3Ro ZXIgZm9yIG5vbmUtZGlyZWN0LXN5bmMtd3JpdGUuVGhpcyBpcyBiZWNhdXNlIGZvcg0KPj4gbm9u ZS1kaXJlY3Qtc3luYy13cml0ZSB3ZSBjYW4gbWVyZ2UgaW92cyB0byBvbmUuQnV0IGZvciBkaXJl Y3Qtd3JpdGUsDQo+PiB3ZSBjYW4ndCBtZXJnZSBpb3ZzLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5 OiBKaWFucGVuZyBNYSA8bWFqaWFucGVuZ0BnbWFpbC5jb20+DQo+PiAtLS0NCj4+ICBmcy9jZXBo L2ZpbGUuYyB8IDMyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0NCj4+ICAxIGZpbGUgY2hhbmdlZCwgMjQ4IGluc2VydGlvbnMoKyksIDgw IGRlbGV0aW9ucygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvZnMvY2VwaC9maWxlLmMgYi9mcy9j ZXBoL2ZpbGUuYw0KPj4gaW5kZXggN2Q2YTNlZS4uNDJjOTdiMyAxMDA2NDQNCj4+IC0tLSBhL2Zz L2NlcGgvZmlsZS5jDQo+PiArKysgYi9mcy9jZXBoL2ZpbGUuYw0KPj4gQEAgLTUzMywxNyArNTMz LDE5IEBAIHN0YXRpYyB2b2lkIGNlcGhfc3luY193cml0ZV91bnNhZmUoc3RydWN0IGNlcGhfb3Nk X3JlcXVlc3QgKnJlcSwgYm9vbCB1bnNhZmUpDQo+PiAgCX0NCj4+ICB9DQo+PiAgDQo+PiArDQo+ PiAgLyoNCj4+IC0gKiBTeW5jaHJvbm91cyB3cml0ZSwgc3RyYWlnaHQgZnJvbSBfX3VzZXIgcG9p bnRlciBvciB1c2VyIHBhZ2VzIChpZg0KPj4gLSAqIE9fRElSRUNUKS4NCj4+ICsgKiBTeW5jaHJv bm91cyB3cml0ZSwgc3RyYWlnaHQgZnJvbSBfX3VzZXIgcG9pbnRlciBvciB1c2VyIHBhZ2VzLg0K Pj4gICAqDQo+PiAgICogSWYgd3JpdGUgc3BhbnMgb2JqZWN0IGJvdW5kYXJ5LCBqdXN0IGRvIG11 bHRpcGxlIHdyaXRlcy4gIChGb3IgYQ0KPj4gICAqIGNvcnJlY3QgYXRvbWljIHdyaXRlLCB3ZSBz aG91bGQgZS5nLiB0YWtlIHdyaXRlIGxvY2tzIG9uIGFsbA0KPj4gICAqIG9iamVjdHMsIHJvbGxi YWNrIG9uIGZhaWx1cmUsIGV0Yy4pDQo+PiAgICovDQo+PiAtc3RhdGljIHNzaXplX3QgY2VwaF9z eW5jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqZGF0YSwNCj4+ IC0JCQkgICAgICAgc2l6ZV90IGxlZnQsIGxvZmZfdCBwb3MsIGxvZmZfdCAqcHBvcykNCj4+ICtz dGF0aWMgc3NpemVfdA0KPj4gK2NlcGhfc3luY19kaXJlY3Rfd3JpdGUoc3RydWN0IGtpb2NiICpp b2NiLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwNCj4+ICsJCSAgICAgICB1bnNpZ25lZCBsb25n IG5yX3NlZ3MsIHNpemVfdCBjb3VudCkNCj4+ICB7DQo+PiArCXN0cnVjdCBmaWxlICpmaWxlID0g aW9jYi0+a2lfZmlscDsNCj4+ICAJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGVfaW5vZGUoZmls ZSk7DQo+PiAgCXN0cnVjdCBjZXBoX2lub2RlX2luZm8gKmNpID0gY2VwaF9pbm9kZShpbm9kZSk7 DQo+PiAgCXN0cnVjdCBjZXBoX2ZzX2NsaWVudCAqZnNjID0gY2VwaF9pbm9kZV90b19jbGllbnQo aW5vZGUpOw0KPj4gQEAgLTU1Nyw1OSArNTU5LDU1IEBAIHN0YXRpYyBzc2l6ZV90IGNlcGhfc3lu Y193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmRhdGEsDQo+PiAg CWludCB3cml0dGVuID0gMDsNCj4+ICAJaW50IGZsYWdzOw0KPj4gIAlpbnQgY2hlY2tfY2FwcyA9 IDA7DQo+PiAtCWludCBwYWdlX2FsaWduLCBpb19hbGlnbjsNCj4+IC0JdW5zaWduZWQgbG9uZyBi dWZfYWxpZ247DQo+PiAtCWludCByZXQ7DQo+PiArCWludCBwYWdlX2FsaWduOw0KPj4gKwlpbnQg cmV0LCBpOw0KPj4gIAlzdHJ1Y3QgdGltZXNwZWMgbXRpbWUgPSBDVVJSRU5UX1RJTUU7DQo+PiAt CWJvb2wgb3duX3BhZ2VzID0gZmFsc2U7DQo+PiArCWxvZmZfdCBwb3MgPSBpb2NiLT5raV9wb3M7 DQo+PiAgDQo+PiAgCWlmIChjZXBoX3NuYXAoZmlsZV9pbm9kZShmaWxlKSkgIT0gQ0VQSF9OT1NO QVApDQo+PiAgCQlyZXR1cm4gLUVST0ZTOw0KPj4gIA0KPj4gLQlkb3V0KCJzeW5jX3dyaXRlIG9u IGZpbGUgJXAgJWxsZH4ldSAlc1xuIiwgZmlsZSwgcG9zLA0KPj4gLQkgICAgICh1bnNpZ25lZCls ZWZ0LCAoZmlsZS0+Zl9mbGFncyAmIE9fRElSRUNUKSA/ICJPX0RJUkVDVCIgOiAiIik7DQo+PiAr CWRvdXQoInN5bmNfZGlyZWN0X3dyaXRlIG9uIGZpbGUgJXAgJWxsZH4ldVxuIiwgZmlsZSwgcG9z LA0KPj4gKwkgICAgICh1bnNpZ25lZCljb3VudCk7DQo+PiAgDQo+PiAtCXJldCA9IGZpbGVtYXBf d3JpdGVfYW5kX3dhaXRfcmFuZ2UoaW5vZGUtPmlfbWFwcGluZywgcG9zLCBwb3MgKyBsZWZ0KTsN Cj4+ICsJcmV0ID0gZmlsZW1hcF93cml0ZV9hbmRfd2FpdF9yYW5nZShpbm9kZS0+aV9tYXBwaW5n LCBwb3MsIHBvcyArIGNvdW50KTsNCj4+ICAJaWYgKHJldCA8IDApDQo+PiAgCQlyZXR1cm4gcmV0 Ow0KPj4gIA0KPj4gIAlyZXQgPSBpbnZhbGlkYXRlX2lub2RlX3BhZ2VzMl9yYW5nZShpbm9kZS0+ aV9tYXBwaW5nLA0KPj4gIAkJCQkJICAgIHBvcyA+PiBQQUdFX0NBQ0hFX1NISUZULA0KPj4gLQkJ CQkJICAgIChwb3MgKyBsZWZ0KSA+PiBQQUdFX0NBQ0hFX1NISUZUKTsNCj4+ICsJCQkJCSAgICAo cG9zICsgY291bnQpID4+IFBBR0VfQ0FDSEVfU0hJRlQpOw0KPj4gIAlpZiAocmV0IDwgMCkNCj4+ ICAJCWRvdXQoImludmFsaWRhdGVfaW5vZGVfcGFnZXMyX3JhbmdlIHJldHVybmVkICVkXG4iLCBy ZXQpOw0KPj4gIA0KPj4gIAlmbGFncyA9IENFUEhfT1NEX0ZMQUdfT1JERVJTTkFQIHwNCj4+ICAJ CUNFUEhfT1NEX0ZMQUdfT05ESVNLIHwNCj4+ICAJCUNFUEhfT1NEX0ZMQUdfV1JJVEU7DQo+PiAt CWlmICgoZmlsZS0+Zl9mbGFncyAmIChPX1NZTkN8T19ESVJFQ1QpKSA9PSAwKQ0KPj4gLQkJZmxh Z3MgfD0gQ0VQSF9PU0RfRkxBR19BQ0s7DQo+PiAtCWVsc2UNCj4+IC0JCW51bV9vcHMrKzsJLyog QWxzbyBpbmNsdWRlIGEgJ3N0YXJ0c3luYycgY29tbWFuZC4gKi8NCj4+ICsJbnVtX29wcysrOwkv KiBBbHNvIGluY2x1ZGUgYSAnc3RhcnRzeW5jJyBjb21tYW5kLiAqLw0KPj4gIA0KPj4gLQkvKg0K Pj4gLQkgKiB3ZSBtYXkgbmVlZCB0byBkbyBtdWx0aXBsZSB3cml0ZXMgaGVyZSBpZiB3ZSBzcGFu IGFuIG9iamVjdA0KPj4gLQkgKiBib3VuZGFyeS4gIHRoaXMgaXNuJ3QgYXRvbWljLCB1bmZvcnR1 bmF0ZWx5LiAgOigNCj4+IC0JICovDQo+PiAtbW9yZToNCj4+IC0JaW9fYWxpZ24gPSBwb3MgJiB+ UEFHRV9NQVNLOw0KPj4gLQlidWZfYWxpZ24gPSAodW5zaWduZWQgbG9uZylkYXRhICYgflBBR0Vf TUFTSzsNCj4+IC0JbGVuID0gbGVmdDsNCj4+ICsJZm9yIChpID0gMDsgaSA8IG5yX3NlZ3MgJiYg Y291bnQ7IGkrKykgew0KPg0KPlBPU0lYIHJlcXVpcmVzIHRoYXQgd3JpdGUgc3lzY2FsbCBpcyBh dG9taWMuIEkgbWVhbnMgd2Ugc2hvdWxkIGFsbG9jYXRlIGEgc2luZ2xlIE9TRCByZXF1ZXN0DQo+ Zm9yIGFsbCBidWZmZXIgc2VnbWVudHMgdGhhdCBiZWxvbmcgdG8gdGhlIHNhbWUgb2JqZWN0Lg0K Pg0KSSB0aGluayB3ZSBjb3VsZCBub3QuDQpGb3IgZGlyZWN0IHdyaXRlLCB3ZSB1c2UgY2VwaF9n ZXRfZGlyZWN0X3BhZ2VfdmVjdG9yIHRvIGdldCBwYWdlcy4NCkdpdmVuIGlvdjEgYW5kIGlvdjIg YXJlIGluIHRoZSBzYW1lIG9iamVjdC4gQnV0IHdlIGNhbid0IG1ha2UgdGhlIHBhZ2VzIG9mIGlv djEvMiB0byBqb2luIHRvZ2V0aGVyLg0KQmVjYXVzZSBmb3IgY2VwaCBwYWdlX3ZlY3RvcixpdCBv bmx5IHJlY29yZCB0aGUgb2Zmc2V0IG9mIGZpcnN0IHBhZ2UuDQoNCk9yIGFtIGkgbWlzc2luZyBz b21ldGhpbmc/DQpNYXliZSB3ZSBjYW4gdXNlIGNlcGggcGFnZWxpc3QgYnV0IGl0IHdpbGwgY29w eSBkYXRhLg0KDQpUaGFua3MhDQpKaWFucGVuZyBNYQ0KPlJlZ2FyZHMNCj5ZYW4sIFpoZW5nDQo=