From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: linux-nfs-owner@vger.kernel.org Received: from mx2.netapp.com ([216.240.18.37]:6037 "EHLO mx2.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752440Ab2DPUlv (ORCPT ); Mon, 16 Apr 2012 16:41:51 -0400 Received: from vmwexceht05-prd.hq.netapp.com (vmwexceht05-prd.hq.netapp.com [10.106.77.35]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id q3GKfp9k021755 for ; Mon, 16 Apr 2012 13:41:51 -0700 (PDT) From: "Myklebust, Trond" To: "Isaman, Fred" CC: "linux-nfs@vger.kernel.org" Subject: Re: [PATCH 14/26] NFS: merge _full and _partial read rpc_ops Date: Mon, 16 Apr 2012 20:41:49 +0000 Message-ID: <1334608910.2879.45.camel@lade.trondhjem.org> References: <1334004744-31842-1-git-send-email-iisaman@netapp.com> <1334004744-31842-15-git-send-email-iisaman@netapp.com> In-Reply-To: <1334004744-31842-15-git-send-email-iisaman@netapp.com> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org List-ID: T24gTW9uLCAyMDEyLTA0LTA5IGF0IDE2OjUyIC0wNDAwLCBGcmVkIElzYW1hbiB3cm90ZToNCj4g RGVjb3VwbGUgbmZzX3BnaW9faGVhZGVyIGFuZCBuZnNfcmVhZF9kYXRhLCBhbmQgaGF2ZSAocG9z c2libHkNCj4gbXVsdGlwbGUpIG5mc19yZWFkX2RhdGFzIGVhY2ggdGFrZSBhIHJlZmNvdW50IG9u IG5mc19wZ2lvX2hlYWRlci4NCj4gDQo+IEZvciB0aGUgbW9tZW50IGtlZXBzIG5mc19yZWFkX2hl YWRlciBhcyBhIHdheSB0byBwcmVhbGxvY2F0ZSBhIHNpbmdsZQ0KPiBuZnNfcmVhZF9kYXRhIHdp dGggdGhlIG5mc19wZ2lvX2hlYWRlci4gIFRoZSBjb2RlIGRvZXNuJ3QgbmVlZCB0aGlzLA0KPiBh bmQgd291bGQgYmUgcHJldHRpZXIgd2l0aG91dCwgYnV0IGdpdmVuIHRoZSBhbW91bnQgb2YgY2h1 cm4gSSBhbQ0KPiBhbHJlYWR5IGludHJvZHVjaW5nIEkgZGlkbid0IHdhbnQgdG8gcGxheSB3aXRo IHR1bmluZyBuZXcgbWVtcG9vbHMuDQo+IA0KPiBUaGlzIGFsc28gZml4ZXMgYnVnIGluIHBuZnNf bGRfaGFuZGxlX3JlYWRfZXJyb3IuICBJbiB0aGUgY2FzZSBvZg0KPiBkZXNjLT5wZ19ic2l6ZSA8 IFBBR0VfQ0FDSEVfU0laRSwgdGhlIHBhZ2VzIGxpc3Qgd2FzIGVtcHR5LCBjYXVzaW5nDQo+IHJl cGxheSBhdHRlbXB0IHRvIGRvIG5vdGhpbmcuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBGcmVkIElz YW1hbiA8aWlzYW1hbkBuZXRhcHAuY29tPg0KPiAtLS0NCjxzbmlwPg0KPiBkaWZmIC0tZ2l0IGEv ZnMvbmZzL3JlYWQuYyBiL2ZzL25mcy9yZWFkLmMNCj4gaW5kZXggZjZhYjMwYi4uZWE4NDRiMiAx MDA2NDQNCj4gLS0tIGEvZnMvbmZzL3JlYWQuYw0KPiArKysgYi9mcy9uZnMvcmVhZC5jDQo+IEBA IC0zMCwyOSArMzAsNDUgQEANCj4gICNkZWZpbmUgTkZTREJHX0ZBQ0lMSVRZCQlORlNEQkdfUEFH RUNBQ0hFDQo+ICANCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmZzX3BhZ2Vpb19vcHMgbmZzX3Bh Z2Vpb19yZWFkX29wczsNCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcnBjX2NhbGxfb3BzIG5mc19y ZWFkX3BhcnRpYWxfb3BzOw0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBycGNfY2FsbF9vcHMgbmZz X3JlYWRfZnVsbF9vcHM7DQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJwY19jYWxsX29wcyBuZnNf cmVhZF9jb21tb25fb3BzOw0KPiAgDQo+ICBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKm5mc19y ZGF0YV9jYWNoZXA7DQo+ICANCj4gLXN0cnVjdCBuZnNfcmVhZF9oZWFkZXIgKm5mc19yZWFkaGRy X2FsbG9jKHVuc2lnbmVkIGludCBwYWdlY291bnQpDQo+ICtzdHJ1Y3QgbmZzX3JlYWRfaGVhZGVy ICpuZnNfcmVhZGhkcl9hbGxvYygpDQo+ICB7DQo+IC0Jc3RydWN0IG5mc19yZWFkX2hlYWRlciAq cDsNCj4gKwlzdHJ1Y3QgbmZzX3JlYWRfaGVhZGVyICpyaGRyOw0KPiAgDQo+IC0JcCA9IGttZW1f Y2FjaGVfemFsbG9jKG5mc19yZGF0YV9jYWNoZXAsIEdGUF9LRVJORUwpOw0KPiAtCWlmIChwKSB7 DQo+IC0JCXN0cnVjdCBuZnNfcGdpb19oZWFkZXIgKmhkciA9ICZwLT5oZWFkZXI7DQo+IC0JCXN0 cnVjdCBuZnNfcmVhZF9kYXRhICpkYXRhID0gJnAtPnJwY19kYXRhOw0KPiArCXJoZHIgPSBrbWVt X2NhY2hlX3phbGxvYyhuZnNfcmRhdGFfY2FjaGVwLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAocmhk cikgew0KPiArCQlzdHJ1Y3QgbmZzX3BnaW9faGVhZGVyICpoZHIgPSAmcmhkci0+aGVhZGVyOw0K PiAgDQo+ICAJCUlOSVRfTElTVF9IRUFEKCZoZHItPnBhZ2VzKTsNCj4gLQkJSU5JVF9MSVNUX0hF QUQoJmRhdGEtPmxpc3QpOw0KPiAtCQlkYXRhLT5oZWFkZXIgPSBoZHI7DQo+ICsJCUlOSVRfTElT VF9IRUFEKCZoZHItPnJwY19saXN0KTsNCj4gKwkJc3Bpbl9sb2NrX2luaXQoJmhkci0+bG9jayk7 DQo+ICsJCWF0b21pY19zZXQoJmhkci0+cmVmY250LCAwKTsNCj4gKwl9DQo+ICsJcmV0dXJuIHJo ZHI7DQo+ICt9DQo+ICsNCj4gK3N0cnVjdCBuZnNfcmVhZF9kYXRhICpuZnNfcmVhZGRhdGFfYWxs b2Moc3RydWN0IG5mc19wZ2lvX2hlYWRlciAqaGRyLA0KPiArCQkJCQkgdW5zaWduZWQgaW50IHBh Z2Vjb3VudCkNCj4gK3sNCj4gKwlzdHJ1Y3QgbmZzX3JlYWRfZGF0YSAqZGF0YTsNCj4gKw0KPiAr CWlmIChoZHIpIHsNCj4gKwkJLyogVXNlIGRhdGEgcHJlYWxsb2NhdGVkIHdpdGggdGhlIGhlYWRl ciAqLw0KPiArCQlkYXRhID0gJmNvbnRhaW5lcl9vZihoZHIsIHN0cnVjdCBuZnNfcmVhZF9oZWFk ZXIsIGhlYWRlciktPnJwY19kYXRhOw0KPiArCX0gZWxzZQ0KPiArCQlkYXRhID0ga3phbGxvYyhz aXplb2YoKmRhdGEpLCBHRlBfS0VSTkVMKTsNCj4gKw0KPiArCWlmIChkYXRhKSB7DQo+ICAJCWlm ICghbmZzX3BnYXJyYXlfc2V0KCZkYXRhLT5wYWdlcywgcGFnZWNvdW50KSkgew0KPiAtCQkJa21l bV9jYWNoZV9mcmVlKG5mc19yZGF0YV9jYWNoZXAsIHApOw0KPiAtCQkJcCA9IE5VTEw7DQo+ICsJ CQlpZiAoIWhkcikNCj4gKwkJCQlrZnJlZShkYXRhKTsNCj4gKwkJCWRhdGEgPSBOVUxMOw0KPiAg CQl9DQo+ICAJfQ0KPiAtCXJldHVybiBwOw0KPiArCXJldHVybiBkYXRhOw0KPiAgfQ0KDQpCVFc6 IEl0IG1ha2VzIG1lIG5lcnZvdXMgdGhhdCB3ZSBjYW4gYWxsb2NhdGUgYSBzdHJ1Y3QgbmZzX3Jl YWRfZGF0YQ0KdGhhdCBkb2VzIG5vdCBoYXZlIGRhdGEtPmhlYWRlciBzZXQuIENvdWxkIHdlIHBs ZWFzZSBhbHdheXMgcGFzcyBhbg0KbmZzX3BnaW9faGVhZGVyIGFyZ3VtZW50Pw0KDQpJZiB5b3Ug bWFrZSBzdXJlIHRoYXQgdGhlIGFib3ZlIGZ1bmN0aW9uIGFsd2F5cyBidW1wcyBoZWFkZXItPnJl ZmNudCwNCnRoZW4geW91IGNhbiBjaGVjayBpZiBoZWFkZXItPnJwY19kYXRhIGlzIGFsbG9jYXRl ZCBieSBzZWVpbmcgaWYNCmhlYWRlci0+cmVmY250IGlzIHplcm8uDQoNCkJUVzogVGhlIHNhbWUg YXBwbGllcyB0byB0aGUgIndyaXRlIiBlcXVpdmFsZW50cy4uLg0KDQo+ICB2b2lkIG5mc19yZWFk aGRyX2ZyZWUoc3RydWN0IG5mc19wZ2lvX2hlYWRlciAqaGRyKQ0KPiBAQCAtNjQsMTAgKzgwLDE2 IEBAIHZvaWQgbmZzX3JlYWRoZHJfZnJlZShzdHJ1Y3QgbmZzX3BnaW9faGVhZGVyICpoZHIpDQo+ ICANCj4gIHZvaWQgbmZzX3JlYWRkYXRhX3JlbGVhc2Uoc3RydWN0IG5mc19yZWFkX2RhdGEgKnJk YXRhKQ0KPiAgew0KPiArCXN0cnVjdCBuZnNfcGdpb19oZWFkZXIgKmhkciA9IHJkYXRhLT5oZWFk ZXI7DQo+ICsNCj4gIAlwdXRfbmZzX29wZW5fY29udGV4dChyZGF0YS0+YXJncy5jb250ZXh0KTsN Cj4gIAlpZiAocmRhdGEtPnBhZ2VzLnBhZ2V2ZWMgIT0gcmRhdGEtPnBhZ2VzLnBhZ2VfYXJyYXkp DQo+ICAJCWtmcmVlKHJkYXRhLT5wYWdlcy5wYWdldmVjKTsNCj4gLQluZnNfcmVhZGhkcl9mcmVl KHJkYXRhLT5oZWFkZXIpOw0KPiArCWlmIChjb250YWluZXJfb2YoaGRyLCBzdHJ1Y3QgbmZzX3Jl YWRfaGVhZGVyLCBoZWFkZXIpICE9DQo+ICsJICAgIGNvbnRhaW5lcl9vZihyZGF0YSwgc3RydWN0 IG5mc19yZWFkX2hlYWRlciwgcnBjX2RhdGEpKQ0KPiArCQlrZnJlZShyZGF0YSk7DQo+ICsJaWYg KGF0b21pY19kZWNfYW5kX3Rlc3QoJmhkci0+cmVmY250KSkNCj4gKwkJbmZzX3JlYWRfY29tcGxl dGlvbihoZHIpOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMNCj4gQEAgLTc5LDM1ICsxMDEsNiBAQCBp bnQgbmZzX3JldHVybl9lbXB0eV9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKQ0KPiAgCXJldHVybiAw Ow0KPiAgfQ0KDQoNCi0tIA0KVHJvbmQgTXlrbGVidXN0DQpMaW51eCBORlMgY2xpZW50IG1haW50 YWluZXINCg0KTmV0QXBwDQpUcm9uZC5NeWtsZWJ1c3RAbmV0YXBwLmNvbQ0Kd3d3Lm5ldGFwcC5j b20NCg0K