2017-04-22 16:31:42

by Olga Kornievskaia

[permalink] [raw]
Subject: [PATCH 1/1] NFS4.1 handle interrupted slot reuse from ERR_DELAY

If the RPC slot was interrupted and server replied to the next
operation on the "reused" slot with ERR_DELAY, don't clear out
the "interrupted" flag until we properly recover.

Signed-off-by: Olga Kornievskaia <[email protected]>
---
fs/nfs/nfs4proc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 0d3347e..a15979c 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -697,7 +697,8 @@ static int nfs41_sequence_process(struct rpc_task *task,
session = slot->table->session;

if (slot->interrupted) {
- slot->interrupted = 0;
+ if (task->tk_status != -NFS4ERR_DELAY)
+ slot->interrupted = 0;
interrupted = true;
}

--
1.8.3.1



2017-04-26 16:42:55

by Trond Myklebust

[permalink] [raw]
Subject: Re: [PATCH 1/1] NFS4.1 handle interrupted slot reuse from ERR_DELAY

T24gU2F0LCAyMDE3LTA0LTIyIGF0IDEyOjMxIC0wNDAwLCBPbGdhIEtvcm5pZXZza2FpYSB3cm90
ZToNCj4gSWYgdGhlIFJQQyBzbG90IHdhcyBpbnRlcnJ1cHRlZCBhbmQgc2VydmVyIHJlcGxpZWQg
dG8gdGhlIG5leHQNCj4gb3BlcmF0aW9uIG9uIHRoZSAicmV1c2VkIiBzbG90IHdpdGggRVJSX0RF
TEFZLCBkb24ndCBjbGVhciBvdXQNCj4gdGhlICJpbnRlcnJ1cHRlZCIgZmxhZyB1bnRpbCB3ZSBw
cm9wZXJseSByZWNvdmVyLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogT2xnYSBLb3JuaWV2c2thaWEg
PGtvbGdhQG5ldGFwcC5jb20+DQo+IC0tLQ0KPiDCoGZzL25mcy9uZnM0cHJvYy5jIHwgMyArKy0N
Cj4gwqAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0K
PiBkaWZmIC0tZ2l0IGEvZnMvbmZzL25mczRwcm9jLmMgYi9mcy9uZnMvbmZzNHByb2MuYw0KPiBp
bmRleCAwZDMzNDdlLi5hMTU5NzljIDEwMDY0NA0KPiAtLS0gYS9mcy9uZnMvbmZzNHByb2MuYw0K
PiArKysgYi9mcy9uZnMvbmZzNHByb2MuYw0KPiBAQCAtNjk3LDcgKzY5Nyw4IEBAIHN0YXRpYyBp
bnQgbmZzNDFfc2VxdWVuY2VfcHJvY2VzcyhzdHJ1Y3QgcnBjX3Rhc2sNCj4gKnRhc2ssDQo+IMKg
CXNlc3Npb24gPSBzbG90LT50YWJsZS0+c2Vzc2lvbjsNCj4gwqANCj4gwqAJaWYgKHNsb3QtPmlu
dGVycnVwdGVkKSB7DQo+IC0JCXNsb3QtPmludGVycnVwdGVkID0gMDsNCj4gKwkJaWYgKHRhc2st
PnRrX3N0YXR1cyAhPSAtTkZTNEVSUl9ERUxBWSkNCj4gKwkJCXNsb3QtPmludGVycnVwdGVkID0g
MDsNCg0KVGhpcyBpcyBvbmx5IGNvcnJlY3QgaWYgdGhlIE5GUzRFUlJfREVMQVkgaXMgb24gdGhl
IHNlcXVlbmNlIG9wIGl0c2VsZi4NCkNhbiB3ZSB0aGVyZWZvcmUgcGxlYXNlIGNvcnJlY3QgdGhp
cyB0byBjaGVjayByZXMtPnNyX3N0YXR1cyBpbnN0ZWFkPw0KDQo+IMKgCQlpbnRlcnJ1cHRlZCA9
IHRydWU7DQo+IMKgCX0NCj4gwqANCi0tIA0KVHJvbmQgTXlrbGVidXN0DQpMaW51eCBORlMgY2xp
ZW50IG1haW50YWluZXIsIFByaW1hcnlEYXRhDQp0cm9uZC5teWtsZWJ1c3RAcHJpbWFyeWRhdGEu
Y29tDQo=