[patch] NFS over TCP (final hopefully) (fwd)

Dave Airlie (airlied@skynet.csn.ul.ie)
Mon, 11 Jan 1999 16:59:38 +0000 (GMT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---913833367-1376739534-916073978=:28359
Content-Type: TEXT/PLAIN; charset=US-ASCII

And of course it helps if you include the patch :-) ..

Dave.

------------ David Airlie, David.Airlie@ul.ie,airlied@skynet --------
Telecommunications Research Centre, ECE Dept, University of Limerick \
http://www.csn.ul.ie/~airlied -- Telecommunications Researcher \
--- TEL: +353-61-202695 -----------------------------------------------

---------- Forwarded message ----------
Date: Mon, 11 Jan 1999 16:52:58 +0000 (GMT)
From: Dave Airlie <airlied@skynet.csn.ul.ie>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.rutgers.edu
Subject: [patch] NFS over TCP (final hopefully)

Hi again,

Here is a patch for NFS over TCP (which fixes write and reconnect
problems) it is against 2.2.0-pre6.

it contains the previous write only fix and the credits patch I sent out
earlier,

the write bug was a problem with a callback handler setting another
callback handler,
and the disconnect problem I fixed by moving a check out of xprt_recvmsg
and allowing it to return 0 indication an empty packet (which works for me
but may not be exactly the right thing .. it seems to be the right thing
however .. )

So NFS over TCP should be fixed now...

one for the Irish :-) (who said all we did was drink ?)

Dave.

------------ David Airlie, David.Airlie@ul.ie,airlied@skynet --------
Telecommunications Research Centre, ECE Dept, University of Limerick \
http://www.csn.ul.ie/~airlied -- Telecommunications Researcher \
--- TEL: +353-61-202695 -----------------------------------------------

---913833367-1376739534-916073978=:28359
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=mydiff-final
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.990111165938.28359D@skynet.csn.ul.ie>
Content-Description:

ZGlmZiAtdXIgbGludXgtb3JpZy9uZXQvc3VucnBjL3NjaGVkLmMgbGludXgv
bmV0L3N1bnJwYy9zY2hlZC5jDQotLS0gbGludXgtb3JpZy9uZXQvc3VucnBj
L3NjaGVkLmMJU3VuIEphbiAxMCAyMDoxMTo1NSAxOTk5DQorKysgbGludXgv
bmV0L3N1bnJwYy9zY2hlZC5jCVN1biBKYW4gMTAgMjA6MTk6NDIgMTk5OQ0K
QEAgLTUsNiArNSw4IEBADQogICoNCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTYg
T2xhZiBLaXJjaCwgPG9raXJAbW9uYWQuc3diLmRlPg0KICAqIA0KKyAqIFRD
UCBORlMgcmVsYXRlZCByZWFkICsgd3JpdGUgZml4ZXMNCisgKiAoQykgMTk5
OSBEYXZlIEFpcmxpZSwgVW5pdmVyc2l0eSBvZiBMaW1lcmljaywgSXJlbGFu
ZCA8YWlybGllZEBsaW51eC5pZT4NCiAgKi8NCiANCiAjaW5jbHVkZSA8bGlu
dXgvbW9kdWxlLmg+DQpAQCAtMjcyLDggKzI3NCw4IEBADQogCWlmICh0YXNr
LT50a19ycGN3YWl0ICE9ICZzY2hlZHEpDQogCQlycGNfcmVtb3ZlX3dhaXRf
cXVldWUodGFzayk7DQogCWlmICghUlBDX0lTX1JVTk5JTkcodGFzaykpIHsN
Ci0JCXJwY19tYWtlX3J1bm5hYmxlKHRhc2spOw0KIAkJdGFzay0+dGtfZmxh
Z3MgfD0gUlBDX1RBU0tfQ0FMTEJBQ0s7DQorCQlycGNfbWFrZV9ydW5uYWJs
ZSh0YXNrKTsNCiAJfQ0KIAlkcHJpbnRrKCJSUEM6ICAgICAgX19ycGNfd2Fr
ZV91cCBkb25lXG4iKTsNCiB9DQpAQCAtMzkyLDEwICszOTQsMjEgQEANCiAJ
CSAqIEV4ZWN1dGUgYW55IHBlbmRpbmcgY2FsbGJhY2suDQogCQkgKi8NCiAJ
CWlmICh0YXNrLT50a19mbGFncyAmIFJQQ19UQVNLX0NBTExCQUNLKSB7DQor
CQkJLyogRGVmaW5lIGEgY2FsbGJhY2sgc2F2ZSBwb2ludGVyICovDQorCQkJ
dm9pZCAoKnNhdmVfY2FsbGJhY2spKHN0cnVjdCBycGNfdGFzayAqKTsNCisJ
DQogCQkJdGFzay0+dGtfZmxhZ3MgJj0gflJQQ19UQVNLX0NBTExCQUNLOw0K
KwkJCS8qIA0KKwkJCSAqIElmIGEgY2FsbGJhY2sgZXhpc3RzLCBzYXZlIGl0
LCByZXNldCBpdCwNCisJCQkgKiBjYWxsIGl0Lg0KKwkJCSAqIFRoZSBzYXZl
IGlzIG5lZWRlZCB0byBzdG9wIGZyb20gcmVzZXR0aW5nDQorCQkJICogYW5v
dGhlciBjYWxsYmFjayBzZXQgd2l0aGluIHRoZSBjYWxsYmFjayBoYW5kbGVy
DQorCQkJICogLSBEYXZlDQorCQkJICovDQogCQkJaWYgKHRhc2stPnRrX2Nh
bGxiYWNrKSB7DQotCQkJCXRhc2stPnRrX2NhbGxiYWNrKHRhc2spOw0KLQkJ
CQl0YXNrLT50a19jYWxsYmFjayA9IE5VTEw7DQorCQkJCXNhdmVfY2FsbGJh
Y2s9dGFzay0+dGtfY2FsbGJhY2s7DQorCQkJCXRhc2stPnRrX2NhbGxiYWNr
PU5VTEw7DQorCQkJCXNhdmVfY2FsbGJhY2sodGFzayk7DQogCQkJfQ0KIAkJ
fQ0KIA0KZGlmZiAtdXIgbGludXgtb3JpZy9uZXQvc3VucnBjL3hwcnQuYyBs
aW51eC9uZXQvc3VucnBjL3hwcnQuYw0KLS0tIGxpbnV4LW9yaWcvbmV0L3N1
bnJwYy94cHJ0LmMJU3VuIEphbiAxMCAyMDoxMTo1MSAxOTk5DQorKysgbGlu
dXgvbmV0L3N1bnJwYy94cHJ0LmMJTW9uIEphbiAxMSAxNzo0Mzo1NyAxOTk5
DQpAQCAtMzUsNiArMzUsOCBAQA0KICAqDQogICogIFRDUCBjYWxsYmFjayBy
YWNlcyBmaXhlcyAoQykgMTk5OCBSZWQgSGF0IFNvZnR3YXJlIDxhbGFuQHJl
ZGhhdC5jb20+DQogICogIFRDUCBzZW5kIGZpeGVzIChDKSAxOTk4IFJlZCBI
YXQgU29mdHdhcmUgPGFsYW5AcmVkaGF0LmNvbT4NCisgKiAgVENQIE5GUyBy
ZWxhdGVkIHJlYWQgKyB3cml0ZSBmaXhlcw0KKyAqICAgKEMpIDE5OTkgRGF2
ZSBBaXJsaWUsIFVuaXZlcnNpdHkgb2YgTGltZXJpY2ssIElyZWxhbmQgPGFp
cmxpZWRAbGludXguaWU+DQogICovDQogDQogI2RlZmluZSBfX0tFUk5FTF9T
WVNDQUxMU19fDQpAQCAtMjcyLDkgKzI3NCw2IEBADQogCXNldF9mcyhvbGRm
cyk7DQogI2VuZGlmDQogDQotCWlmICghcmVzdWx0ICYmIGxlbikNCi0JCXJl
c3VsdCA9IC1FQUdBSU47DQotDQogCWRwcmludGsoIlJQQzogICAgICB4cHJ0
X3JlY3Ztc2coaW92ICVwLCBsZW4gJWQpID0gJWRcbiIsDQogCQkJCQkJaW92
LCBsZW4sIHJlc3VsdCk7DQogCXJldHVybiByZXN1bHQ7DQpAQCAtNjM5LDYg
KzYzOCwxMSBAQA0KIAkJcmlvdi5pb3ZfYmFzZSA9IHhwcnQtPnRjcF9yZWNt
LmRhdGEgKyBvZmZzZXQ7DQogCQlyaW92Lmlvdl9sZW4gID0gd2FudDsNCiAJ
CXJlc3VsdCA9IHhwcnRfcmVjdm1zZyh4cHJ0LCAmcmlvdiwgMSwgd2FudCk7
DQorCQlpZiAoIXJlc3VsdCkNCisJCXsNCisJCQlkcHJpbnRrKCJSUEM6IGVt
cHR5IFRDUCByZWNvcmQuXG4iKTsNCisJCQlyZXR1cm4gLUVOT1RDT05OOw0K
KwkJfQ0KIAkJaWYgKHJlc3VsdCA8IDApDQogCQkJZ290byBkb25lOw0KIAkJ
b2Zmc2V0ICs9IHJlc3VsdDsNCkBAIC02ODQsNiArNjg4LDggQEANCiAJCWRw
cmludGsoIlJQQzogJTRkIFRDUCByZWNlaXZpbmcgJWQgYnl0ZXNcbiIsDQog
CQkJCQlyZXEtPnJxX3Rhc2stPnRrX3BpZCwgd2FudCk7DQogCQlyZXN1bHQg
PSB4cHJ0X3JlY3Ztc2coeHBydCwgeHBydC0+dGNwX2lvdmVjLCByZXEtPnJx
X3Juciwgd2FudCk7DQorCQlpZiAoIXJlc3VsdCAmJiB3YW50KQ0KKwkJCXJl
c3VsdCA9IC1FQUdBSU47DQogCQlpZiAocmVzdWx0IDwgMCkNCiAJCQlnb3Rv
IGRvbmU7DQogCQl4cHJ0LT50Y3BfY29waWVkICs9IHJlc3VsdDsNCkBAIC03
MTUsNiArNzIxLDggQEANCiAJCXJpb3YuaW92X2xlbiAgPSB3YW50Ow0KIAkJ
ZHByaW50aygiUlBDOiAgICAgIFRDUCBza2lwcGluZyAlZCBieXRlc1xuIiwg
d2FudCk7DQogCQlyZXN1bHQgPSB4cHJ0X3JlY3Ztc2coeHBydCwgJnJpb3Ys
IDEsIHdhbnQpOw0KKwkJaWYgKCFyZXN1bHQgJiYgd2FudCkNCisJCQlyZXN1
bHQ9LUVBR0FJTjsNCiAJCWlmIChyZXN1bHQgPCAwKQ0KIAkJCWdvdG8gZG9u
ZTsNCiAJCW9mZnNldCArPSByZXN1bHQ7DQpAQCAtODcxLDE0ICs4NzksMTQg
QEANCiAJaWYgKCEoeHBydCA9IHhwcnRfZnJvbV9zb2NrKHNrKSkpDQogCQly
ZXR1cm47DQogCWlmKHhwcnQtPnNuZF9zZW50ICYmIHhwcnQtPnNuZF90YXNr
KQ0KLQkJcHJpbnRrKCJ3cml0ZSBzcGFjZVxuIik7DQorCQlkcHJpbnRrKCJS
UEM6IHdyaXRlIHNwYWNlXG4iKTsNCiAJaWYoeHBydC0+d3JpdGVfc3BhY2Ug
PT0gMCkNCiAJew0KIAkJeHBydC0+d3JpdGVfc3BhY2UgPSAxOw0KIAkJaWYg
KHhwcnQtPnNuZF90YXNrICYmICFSUENfSVNfUlVOTklORyh4cHJ0LT5zbmRf
dGFzaykpDQogCQl7DQogCQkJaWYoeHBydC0+c25kX3NlbnQpDQotCQkJCXBy
aW50aygiV3JpdGUgd2FrZXVwIHNuZF9zZW50ID0lZFxuIiwNCisJCQkJZHBy
aW50aygiUlBDOiBXcml0ZSB3YWtldXAgc25kX3NlbnQgPSVkXG4iLA0KIAkJ
CQkJeHBydC0+c25kX3NlbnQpOw0KIAkJCXJwY193YWtlX3VwX3Rhc2soeHBy
dC0+c25kX3Rhc2spOwkJCQ0KIAkJfQ0KQEAgLTk0NSw4ICs5NTMsNiBAQA0K
IAlzdHJ1Y3QgcnBjX3hwcnQJKnhwcnQgPSByZXEtPnJxX3hwcnQ7DQogCWlu
dCBzdGF0dXM7DQogDQotCS8qREVCVUcqL2ludCBhY19kZWJ1Zz14cHJ0LT5z
bmRfc2VudDsNCi0JDQogCWRwcmludGsoIlJQQzogJTRkIHhwcnRfdHJhbnNt
aXQoJXgpXG4iLCB0YXNrLT50a19waWQsIA0KIAkJCQkqKHUzMiAqKShyZXEt
PnJxX3N2ZWNbMF0uaW92X2Jhc2UpKTsNCiANCkBAIC05OTQsNyArMTAwMCw2
IEBADQogCQl4cHJ0LT5zbmRfYnVmICA9IHJlcS0+cnFfc25kX2J1ZjsNCiAJ
CXhwcnQtPnNuZF90YXNrID0gdGFzazsNCiAJCXhwcnQtPnNuZF9zZW50ID0g
MDsNCi0JCS8qREVCVUcqL2FjX2RlYnVnID0gMDsNCiAJfQ0KIA0KIAkvKiBG
b3IgZmFzdCBuZXR3b3Jrcy9zZXJ2ZXJzIHdlIGhhdmUgdG8gcHV0IHRoZSBy
ZXF1ZXN0IG9uDQpAQCAtMTAyMiwxMiArMTAyNywxMCBAQA0KIAkJaWYgKHhw
cnRfdHJhbnNtaXRfc29tZSh4cHJ0LCB0YXNrKSAhPSAtRUFHQUlOKSB7DQog
CQkJZHByaW50aygiUlBDOiAlNGQgeG1pdCBjb21wbGV0ZVxuIiwgdGFzay0+
dGtfcGlkKTsNCiAJCQl4cHJ0LT5zbmRfdGFzayA9IE5VTEw7DQotCQkJaWYo
YWNfZGVidWcpDQotCQkJCXByaW50aygiUGFydGlhbCB4bWl0IGZpbmlzaGVk
XG4iKTsNCiAJCQlyZXR1cm47DQogCQl9DQogDQotCQkvKmQqL3ByaW50aygi
UlBDOiAlNGQgeG1pdCBpbmNvbXBsZXRlICglZCBsZWZ0IG9mICVkKVxuIiwN
CisJCS8qZCovZHByaW50aygiUlBDOiAlNGQgeG1pdCBpbmNvbXBsZXRlICgl
ZCBsZWZ0IG9mICVkKVxuIiwNCiAJCQkJdGFzay0+dGtfcGlkLCB4cHJ0LT5z
bmRfYnVmLmlvX2xlbiwNCiAJCQkJcmVxLT5ycV9zbGVuKTsNCiAJCXRhc2st
PnRrX3N0YXR1cyA9IDA7DQotLS0gbGludXgtb3JpZy9DUkVESVRTCVRodSBK
YW4gIDcgMTY6NDE6NTQgMTk5OQ0KKysrIGxpbnV4L0NSRURJVFMJTW9uIEph
biAxMSAxMzoxNjo1NiAxOTk5DQpAQCAtMTYsNiArMTYsMTMgQEANCiBTOiAo
YXNrIGZvciBjdXJyZW50IGFkZHJlc3MpDQogUzogRmlubGFuZA0KIA0KK046
IERhdmUgQWlybGllDQorRTogYWlybGllZEBsaW51eC5pZQ0KK1c6IGh0dHA6
Ly93d3cuY3NuLnVsLmllL35haXJsaWVkDQorRDogTkZTIG92ZXIgVENQIHBh
dGNoZXMNCitTOiBVbml2ZXJzaXR5IG9mIExpbWVyaWNrDQorUzogSXJlbGFu
ZA0KKw0KIE46IFdlcm5lciBBbG1lc2Jlcmdlcg0KIEU6IHdlcm5lci5hbG1l
c2JlcmdlckBscmMuZGkuZXBmbC5jaA0KIEQ6IGRvc2ZzLCBMSUxPLCBzb21l
IGZkIGZlYXR1cmVzLCB2YXJpb3VzIG90aGVyIGhhY2tzIGhlcmUgYW5kIHRo
ZXJlDQo=
---913833367-1376739534-916073978=:28359--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/