Skip to contentSkip to conversation

NFS4.1 handle interrupted slot reuse from ERR_DELAY

PATCH Superseded Olga Kornievskaia 2 participants 2 messages Apr 22, 2017 – Apr 26, 2017

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

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.

---
 fs/nfs/nfs4proc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fs/nfs/nfs4proc.c +2 -1
index 0d3347e..a15979c 100644
@@ -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;
 	}
 
Signature · 1 line
1.8.3.1
#1 lore raw

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=