2012-09-25 05:43:32

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH] NFS: fix the return value of nfs4_blkdev_get()

From: Wei Yongjun <[email protected]>

In case of error, the function nfs4_blkdev_get() return NULL pointer.
But the user nfs4_blk_decode_device() check the return value by using
IS_ERR() and get error code from the return value. So we should better
change the return value of nfs4_blkdev_get() to return ERR_PTR().

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <[email protected]>
---
fs/nfs/blocklayout/blocklayoutdev.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayoutdev.c b/fs/nfs/blocklayout/blocklayoutdev.c
index c965542..8c51518 100644
--- a/fs/nfs/blocklayout/blocklayoutdev.c
+++ b/fs/nfs/blocklayout/blocklayoutdev.c
@@ -61,12 +61,9 @@ struct block_device *nfs4_blkdev_get(dev_t dev)
dprintk("%s enter\n", __func__);
bd = blkdev_get_by_dev(dev, FMODE_READ, NULL);
if (IS_ERR(bd))
- goto fail;
+ dprintk("%s failed to open device : %ld\n",
+ __func__, PTR_ERR(bd));
return bd;
-fail:
- dprintk("%s failed to open device : %ld\n",
- __func__, PTR_ERR(bd));
- return NULL;
}

/*




2012-09-25 08:15:41

by [email protected]

[permalink] [raw]
Subject: RE: [PATCH] NFS: fix the return value of nfs4_blkdev_get()

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFBlbmcsIFRhbyBbbWFpbHRvOnRhby5w
ZW5nQGVtYy5jb21dIA0KU2VudDogMjAxMuW5tDnmnIgyNeaXpSAxNToxMg0KVG86IFdlaSBZb25n
anVuOyBUcm9uZC5NeWtsZWJ1c3RAbmV0YXBwLmNvbQ0KQ2M6IFlvbmdqdW4gV2VpIChSRC1DTik7
IGxpbnV4LW5mc0B2Z2VyLmtlcm5lbC5vcmcNClN1YmplY3Q6IFJFOiBbUEFUQ0hdIE5GUzogZml4
IHRoZSByZXR1cm4gdmFsdWUgb2YgbmZzNF9ibGtkZXZfZ2V0KCkNCg0KPiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaW51eC1uZnMtb3duZXJAdmdlci5rZXJuZWwub3JnIA0K
PiBbbWFpbHRvOmxpbnV4LW5mcy1vd25lckB2Z2VyLmtlcm5lbC5vcmddIE9uIEJlaGFsZiBPZiBX
ZWkgWW9uZ2p1bg0KPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMjUsIDIwMTIgMTo0NCBQTQ0K
PiBUbzogVHJvbmQuTXlrbGVidXN0QG5ldGFwcC5jb20NCj4gQ2M6IHlvbmdqdW5fd2VpQHRyZW5k
bWljcm8uY29tLmNuOyBsaW51eC1uZnNAdmdlci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFtQQVRD
SF0gTkZTOiBmaXggdGhlIHJldHVybiB2YWx1ZSBvZiBuZnM0X2Jsa2Rldl9nZXQoKQ0KPiANCj4g
RnJvbTogV2VpIFlvbmdqdW4gPHlvbmdqdW5fd2VpQHRyZW5kbWljcm8uY29tLmNuPg0KPiANCj4g
SW4gY2FzZSBvZiBlcnJvciwgdGhlIGZ1bmN0aW9uIG5mczRfYmxrZGV2X2dldCgpIHJldHVybiBO
VUxMIHBvaW50ZXIuDQo+IEJ1dCB0aGUgdXNlciBuZnM0X2Jsa19kZWNvZGVfZGV2aWNlKCkgY2hl
Y2sgdGhlIHJldHVybiB2YWx1ZSBieSB1c2luZw0KPiBJU19FUlIoKSBhbmQgZ2V0IGVycm9yIGNv
ZGUgZnJvbSB0aGUgcmV0dXJuIHZhbHVlLiBTbyB3ZSBzaG91bGQgYmV0dGVyIA0KPiBjaGFuZ2Ug
dGhlIHJldHVybiB2YWx1ZSBvZiBuZnM0X2Jsa2Rldl9nZXQoKSB0byByZXR1cm4gRVJSX1BUUigp
Lg0KPiANClllYWgsIGl0IGlzIG1lcmVseSBtZXNzIGFuZCBzaG91bGQgYmUganVzdCByZW1vdmVk
Li4uIEhvdyBhYm91dCBmb2xsb3dpbmcgcGF0Y2g/DQoNCkl0IGlzIE9LIHRvIG1lLg0KDQpSZWdh
cmRzLA0KWW9uZ2p1biBXZWkNCg0KDQoNClRSRU5EIE1JQ1JPIEVNQUlMIE5PVElDRQ0KVGhlIGlu
Zm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgaXMg
Y29uZmlkZW50aWFsIGFuZCBtYXkgYmUgc3ViamVjdCB0byBjb3B5cmlnaHQgb3Igb3RoZXIgaW50
ZWxsZWN0dWFsIHByb3BlcnR5IHByb3RlY3Rpb24uIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRl
ZCByZWNpcGllbnQsIHlvdSBhcmUgbm90IGF1dGhvcml6ZWQgdG8gdXNlIG9yIGRpc2Nsb3NlIHRo
aXMgaW5mb3JtYXRpb24sIGFuZCB3ZSByZXF1ZXN0IHRoYXQgeW91IG5vdGlmeSB1cyBieSByZXBs
eSBtYWlsIG9yIHRlbGVwaG9uZSBhbmQgZGVsZXRlIHRoZSBvcmlnaW5hbCBtZXNzYWdlIGZyb20g
eW91ciBtYWlsIHN5c3RlbS4=


2012-09-25 12:46:50

by Jim Rees

[permalink] [raw]
Subject: Re: [PATCH] NFS: fix the return value of nfs4_blkdev_get()

Peng, Tao wrote:

> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Wei
> Yongjun
> Sent: Tuesday, September 25, 2012 1:44 PM
> To: [email protected]
> Cc: [email protected]; [email protected]
> Subject: [PATCH] NFS: fix the return value of nfs4_blkdev_get()
>
> From: Wei Yongjun <[email protected]>
>
> In case of error, the function nfs4_blkdev_get() return NULL pointer.
> But the user nfs4_blk_decode_device() check the return value by using
> IS_ERR() and get error code from the return value. So we should better
> change the return value of nfs4_blkdev_get() to return ERR_PTR().
>
Yeah, it is merely mess and should be just removed...

It's leftover debug code. Get rid of it.

2012-09-25 07:12:36

by Peng, Tao

[permalink] [raw]
Subject: RE: [PATCH] NFS: fix the return value of nfs4_blkdev_get()

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaW51eC1uZnMtb3duZXJAdmdl
ci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtbmZzLW93bmVyQHZnZXIua2VybmVsLm9yZ10gT24g
QmVoYWxmIE9mIFdlaQ0KPiBZb25nanVuDQo+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAyNSwg
MjAxMiAxOjQ0IFBNDQo+IFRvOiBUcm9uZC5NeWtsZWJ1c3RAbmV0YXBwLmNvbQ0KPiBDYzogeW9u
Z2p1bl93ZWlAdHJlbmRtaWNyby5jb20uY247IGxpbnV4LW5mc0B2Z2VyLmtlcm5lbC5vcmcNCj4g
U3ViamVjdDogW1BBVENIXSBORlM6IGZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIG5mczRfYmxrZGV2
X2dldCgpDQo+IA0KPiBGcm9tOiBXZWkgWW9uZ2p1biA8eW9uZ2p1bl93ZWlAdHJlbmRtaWNyby5j
b20uY24+DQo+IA0KPiBJbiBjYXNlIG9mIGVycm9yLCB0aGUgZnVuY3Rpb24gbmZzNF9ibGtkZXZf
Z2V0KCkgcmV0dXJuIE5VTEwgcG9pbnRlci4NCj4gQnV0IHRoZSB1c2VyIG5mczRfYmxrX2RlY29k
ZV9kZXZpY2UoKSBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGJ5IHVzaW5nDQo+IElTX0VSUigpIGFu
ZCBnZXQgZXJyb3IgY29kZSBmcm9tIHRoZSByZXR1cm4gdmFsdWUuIFNvIHdlIHNob3VsZCBiZXR0
ZXINCj4gY2hhbmdlIHRoZSByZXR1cm4gdmFsdWUgb2YgbmZzNF9ibGtkZXZfZ2V0KCkgdG8gcmV0
dXJuIEVSUl9QVFIoKS4NCj4gDQpZZWFoLCBpdCBpcyBtZXJlbHkgbWVzcyBhbmQgc2hvdWxkIGJl
IGp1c3QgcmVtb3ZlZC4uLiBIb3cgYWJvdXQgZm9sbG93aW5nIHBhdGNoPw0KDQpGcm9tIGUyNjhm
MWE1OTEzYjAwNWQxMGVlZGI4MmI0ZDUzNTIxZDU2ZDYyMWUgTW9uIFNlcCAxNyAwMDowMDowMCAy
MDAxDQpGcm9tOiBQZW5nIFRhbyA8YmVyZ3dvbGZAZ21haWwuY29tPg0KRGF0ZTogVHVlLCAyNSBT
ZXAgMjAxMiAxNDo1NTo1NyArMDgwMA0KU3ViamVjdDogW1BBVENIXSBwbmZzYmxvY2s6IGNsZWFu
dXAgbmZzNF9ibGtkZXZfZ2V0DQoNCkl0IGlzIG5vdCBuZWVkZWQgYXQgYWxsIGFuZCBpdCBpcyBt
ZXNzaW5nIHdpdGggcmV0dXJuIHZhbHVlcy4uLg0KDQpSZXBvcnRlZC1ieTogV2VpIFlvbmdqdW4g
PHlvbmdqdW5fd2VpQHRyZW5kbWljcm8uY29tLmNuPg0KU2lnbmVkLW9mZi1ieTogUGVuZyBUYW8g
PHRhby5wZW5nQGVtYy5jb20+DQotLS0NCiBmcy9uZnMvYmxvY2tsYXlvdXQvYmxvY2tsYXlvdXQu
aCAgICB8ICAgIDEgLQ0KIGZzL25mcy9ibG9ja2xheW91dC9ibG9ja2xheW91dGRldi5jIHwgICAy
NSArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tDQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlv
bnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZnMvbmZzL2Jsb2NrbGF5b3V0
L2Jsb2NrbGF5b3V0LmggYi9mcy9uZnMvYmxvY2tsYXlvdXQvYmxvY2tsYXlvdXQuaA0KaW5kZXgg
MDMzNTA2OS4uZWQ5NmY3NCAxMDA2NDQNCi0tLSBhL2ZzL25mcy9ibG9ja2xheW91dC9ibG9ja2xh
eW91dC5oDQorKysgYi9mcy9uZnMvYmxvY2tsYXlvdXQvYmxvY2tsYXlvdXQuaA0KQEAgLTE3Miw3
ICsxNzIsNiBAQCBzdHJ1Y3QgYmxfbXNnX2hkciB7DQogLyogYmxvY2tsYXlvdXRkZXYuYyAqLw0K
IHNzaXplX3QgYmxfcGlwZV9kb3duY2FsbChzdHJ1Y3QgZmlsZSAqLCBjb25zdCBjaGFyIF9fdXNl
ciAqLCBzaXplX3QpOw0KIHZvaWQgYmxfcGlwZV9kZXN0cm95X21zZyhzdHJ1Y3QgcnBjX3BpcGVf
bXNnICopOw0KLXN0cnVjdCBibG9ja19kZXZpY2UgKm5mczRfYmxrZGV2X2dldChkZXZfdCBkZXYp
Ow0KIGludCBuZnM0X2Jsa2Rldl9wdXQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldik7DQogc3Ry
dWN0IHBuZnNfYmxvY2tfZGV2ICpuZnM0X2Jsa19kZWNvZGVfZGV2aWNlKHN0cnVjdCBuZnNfc2Vy
dmVyICpzZXJ2ZXIsDQogCQkJCQkJc3RydWN0IHBuZnNfZGV2aWNlICpkZXYpOw0KZGlmZiAtLWdp
dCBhL2ZzL25mcy9ibG9ja2xheW91dC9ibG9ja2xheW91dGRldi5jIGIvZnMvbmZzL2Jsb2NrbGF5
b3V0L2Jsb2NrbGF5b3V0ZGV2LmMNCmluZGV4IGM5NjU1NDIuLmE4NmM1YmQgMTAwNjQ0DQotLS0g
YS9mcy9uZnMvYmxvY2tsYXlvdXQvYmxvY2tsYXlvdXRkZXYuYw0KKysrIGIvZnMvbmZzL2Jsb2Nr
bGF5b3V0L2Jsb2NrbGF5b3V0ZGV2LmMNCkBAIC01MywyMiArNTMsNiBAQCBzdGF0aWMgaW50IGRl
Y29kZV9zZWN0b3JfbnVtYmVyKF9fYmUzMiAqKnJwLCBzZWN0b3JfdCAqc3ApDQogCXJldHVybiAw
Ow0KIH0NCiANCi0vKiBPcGVuIGEgYmxvY2tfZGV2aWNlIGJ5IGRldmljZSBudW1iZXIuICovDQot
c3RydWN0IGJsb2NrX2RldmljZSAqbmZzNF9ibGtkZXZfZ2V0KGRldl90IGRldikNCi17DQotCXN0
cnVjdCBibG9ja19kZXZpY2UgKmJkOw0KLQ0KLQlkcHJpbnRrKCIlcyBlbnRlclxuIiwgX19mdW5j
X18pOw0KLQliZCA9IGJsa2Rldl9nZXRfYnlfZGV2KGRldiwgRk1PREVfUkVBRCwgTlVMTCk7DQot
CWlmIChJU19FUlIoYmQpKQ0KLQkJZ290byBmYWlsOw0KLQlyZXR1cm4gYmQ7DQotZmFpbDoNCi0J
ZHByaW50aygiJXMgZmFpbGVkIHRvIG9wZW4gZGV2aWNlIDogJWxkXG4iLA0KLQkJCV9fZnVuY19f
LCBQVFJfRVJSKGJkKSk7DQotCXJldHVybiBOVUxMOw0KLX0NCi0NCiAvKg0KICAqIFJlbGVhc2Ug
dGhlIGJsb2NrIGRldmljZQ0KICAqLw0KQEAgLTE3MiwxMSArMTU2LDEyIEBAIG5mczRfYmxrX2Rl
Y29kZV9kZXZpY2Uoc3RydWN0IG5mc19zZXJ2ZXIgKnNlcnZlciwNCiAJCWdvdG8gb3V0Ow0KIAl9
DQogDQotCWJkID0gbmZzNF9ibGtkZXZfZ2V0KE1LREVWKHJlcGx5LT5tYWpvciwgcmVwbHktPm1p
bm9yKSk7DQorCWJkID0gYmxrZGV2X2dldF9ieV9kZXYoTUtERVYocmVwbHktPm1ham9yLCByZXBs
eS0+bWlub3IpLA0KKwkJCSAgICAgICBGTU9ERV9SRUFELCBOVUxMKTsNCiAJaWYgKElTX0VSUihi
ZCkpIHsNCi0JCXJjID0gUFRSX0VSUihiZCk7DQotCQlkcHJpbnRrKCIlcyBmYWlsZWQgdG8gb3Bl
biBkZXZpY2UgOiAlZFxuIiwgX19mdW5jX18sIHJjKTsNCi0JCXJ2ID0gRVJSX1BUUihyYyk7DQor
CQlkcHJpbnRrKCIlcyBmYWlsZWQgdG8gb3BlbiBkZXZpY2UgOiAlbGRcbiIsIF9fZnVuY19fLA0K
KwkJCVBUUl9FUlIoYmQpKTsNCisJCXJ2ID0gRVJSX0NBU1QoYmQpOw0KIAkJZ290byBvdXQ7DQog
CX0NCiANCi0tIA0KMS43LjcuNg0KDQoNCg0K