2016-06-16 14:52:49

by Weston Andros Adamson

[permalink] [raw]
Subject: flexfiles LAYOUTGET/LAYOUTRETURN loop

Hey Trond, Anna,

The following patches should be CC’d to stable for all stable branches
with flexfiles.

They fix an issue where the client can use the wrong credential if the
server returns a read-only and readwrite layout with different creds.
The client then goes into a LAYOUTRETURN/LAYOUTGET loop that
it never recovers from.

This has been seen in recent fedora releases.

Here are the relevant patches:

commit 3064b6861d00b7124558cdf79f9387f948361be3
Author: Jeff Layton <[email protected]>
Date: Thu Apr 21 20:52:00 2016 -0400

nfs: have flexfiles mirror keep creds for both ro and rw layouts

commit 90a0be00e9d29d9baac27c0c63a5e71ca1334001
Author: Jeff Layton <[email protected]>
Date: Thu Apr 21 20:51:59 2016 -0400

nfs: get a reference to the credential in ff_layout_alloc_lseg

commit 57f3f4c0cd50e90aa92eec20d9c309dd67c594a5
Author: Jeff Layton <[email protected]>
Date: Thu Apr 21 20:51:58 2016 -0400

nfs: have ff_layout_get_ds_cred take a reference to the cred

commit 547a637630c61b9e1dae9abce2b44ce7076244af
Author: Jeff Layton <[email protected]>
Date: Thu Apr 21 20:51:57 2016 -0400

nfs: don't call nfs4_ff_layout_prepare_ds from ff_layout_get_ds_cred


-dros



2016-06-16 14:56:23

by Trond Myklebust

[permalink] [raw]
Subject: Re: flexfiles LAYOUTGET/LAYOUTRETURN loop

DQo+IE9uIEp1biAxNiwgMjAxNiwgYXQgMTA6NTIsIFdlc3RvbiBBbmRyb3MgQWRhbXNvbiA8ZHJv
c0Btb25rZXkub3JnPiB3cm90ZToNCj4gDQo+IEhleSBUcm9uZCwgQW5uYSwNCj4gDQo+IFRoZSBm
b2xsb3dpbmcgcGF0Y2hlcyBzaG91bGQgYmUgQ0PigJlkIHRvIHN0YWJsZSBmb3IgYWxsIHN0YWJs
ZSBicmFuY2hlcw0KPiB3aXRoIGZsZXhmaWxlcy4NCj4gDQo+IFRoZXkgZml4IGFuIGlzc3VlIHdo
ZXJlIHRoZSBjbGllbnQgY2FuIHVzZSB0aGUgd3JvbmcgY3JlZGVudGlhbCBpZiB0aGUNCj4gc2Vy
dmVyIHJldHVybnMgYSByZWFkLW9ubHkgYW5kIHJlYWR3cml0ZSBsYXlvdXQgd2l0aCBkaWZmZXJl
bnQgY3JlZHMuDQo+IFRoZSBjbGllbnQgdGhlbiBnb2VzIGludG8gYSBMQVlPVVRSRVRVUk4vTEFZ
T1VUR0VUIGxvb3AgdGhhdA0KPiBpdCBuZXZlciByZWNvdmVycyBmcm9tLg0KPiANCj4gVGhpcyBo
YXMgYmVlbiBzZWVuIGluIHJlY2VudCBmZWRvcmEgcmVsZWFzZXMuDQo+IA0KPiBIZXJlIGFyZSB0
aGUgcmVsZXZhbnQgcGF0Y2hlczoNCj4gDQo+IGNvbW1pdCAzMDY0YjY4NjFkMDBiNzEyNDU1OGNk
Zjc5ZjkzODdmOTQ4MzYxYmUzDQo+IEF1dGhvcjogSmVmZiBMYXl0b24gPGpsYXl0b25AcG9vY2hp
ZXJlZHMubmV0Pg0KPiBEYXRlOiAgIFRodSBBcHIgMjEgMjA6NTI6MDAgMjAxNiAtMDQwMA0KPiAN
Cj4gICBuZnM6IGhhdmUgZmxleGZpbGVzIG1pcnJvciBrZWVwIGNyZWRzIGZvciBib3RoIHJvIGFu
ZCBydyBsYXlvdXRzDQo+IA0KPiBjb21taXQgOTBhMGJlMDBlOWQyOWQ5YmFhYzI3YzBjNjNhNWU3
MWNhMTMzNDAwMQ0KPiBBdXRob3I6IEplZmYgTGF5dG9uIDxqbGF5dG9uQHBvb2NoaWVyZWRzLm5l
dD4NCj4gRGF0ZTogICBUaHUgQXByIDIxIDIwOjUxOjU5IDIwMTYgLTA0MDANCj4gDQo+ICAgbmZz
OiBnZXQgYSByZWZlcmVuY2UgdG8gdGhlIGNyZWRlbnRpYWwgaW4gZmZfbGF5b3V0X2FsbG9jX2xz
ZWcNCj4gDQo+IGNvbW1pdCA1N2YzZjRjMGNkNTBlOTBhYTkyZWVjMjBkOWMzMDlkZDY3YzU5NGE1
DQo+IEF1dGhvcjogSmVmZiBMYXl0b24gPGpsYXl0b25AcG9vY2hpZXJlZHMubmV0Pg0KPiBEYXRl
OiAgIFRodSBBcHIgMjEgMjA6NTE6NTggMjAxNiAtMDQwMA0KPiANCj4gICBuZnM6IGhhdmUgZmZf
bGF5b3V0X2dldF9kc19jcmVkIHRha2UgYSByZWZlcmVuY2UgdG8gdGhlIGNyZWQNCj4gDQo+IGNv
bW1pdCA1NDdhNjM3NjMwYzYxYjllMWRhZTlhYmNlMmI0NGNlNzA3NjI0NGFmDQo+IEF1dGhvcjog
SmVmZiBMYXl0b24gPGpsYXl0b25AcG9vY2hpZXJlZHMubmV0Pg0KPiBEYXRlOiAgIFRodSBBcHIg
MjEgMjA6NTE6NTcgMjAxNiAtMDQwMA0KPiANCj4gICBuZnM6IGRvbid0IGNhbGwgbmZzNF9mZl9s
YXlvdXRfcHJlcGFyZV9kcyBmcm9tIGZmX2xheW91dF9nZXRfZHNfY3JlZA0KPiANCj4gDQo+IC1k
cm9zDQo+IA0KDQpUaG9zZSBhcmUgYWxyZWFkeSBhcHBsaWVkIHVwc3RyZWFtIGFmYWljcywgc28g
d2UgY2Fu4oCZdCBhZGQgYW55IENjcy4gSWYgdGhleSBuZWVkIHRvIGdvIHRvIHN0YWJsZSwgdGhl
biBzb21lb25lIGhhcyB0byBzdWJtaXQgdGhlbSBkaXJlY3RseS4NCg0KQ2hlZXJzDQogIFRyb25k


2016-06-16 15:08:53

by Weston Andros Adamson

[permalink] [raw]
Subject: Re: flexfiles LAYOUTGET/LAYOUTRETURN loop


> On Jun 16, 2016, at 10:56 AM, Trond Myklebust <[email protected]> wrote:
>
>
> > On Jun 16, 2016, at 10:52, Weston Andros Adamson <[email protected]> wrote:
> >
> > Hey Trond, Anna,
> >
> > The following patches should be CC’d to stable for all stable branches
> > with flexfiles.
> >
> > They fix an issue where the client can use the wrong credential if the
> > server returns a read-only and readwrite layout with different creds.
> > The client then goes into a LAYOUTRETURN/LAYOUTGET loop that
> > it never recovers from.
> >
> > This has been seen in recent fedora releases.
> >
> > Here are the relevant patches:
> >
> > commit 3064b6861d00b7124558cdf79f9387f948361be3
> > Author: Jeff Layton <[email protected]>
> > Date: Thu Apr 21 20:52:00 2016 -0400
> >
> > nfs: have flexfiles mirror keep creds for both ro and rw layouts
> >
> > commit 90a0be00e9d29d9baac27c0c63a5e71ca1334001
> > Author: Jeff Layton <[email protected]>
> > Date: Thu Apr 21 20:51:59 2016 -0400
> >
> > nfs: get a reference to the credential in ff_layout_alloc_lseg
> >
> > commit 57f3f4c0cd50e90aa92eec20d9c309dd67c594a5
> > Author: Jeff Layton <[email protected]>
> > Date: Thu Apr 21 20:51:58 2016 -0400
> >
> > nfs: have ff_layout_get_ds_cred take a reference to the cred
> >
> > commit 547a637630c61b9e1dae9abce2b44ce7076244af
> > Author: Jeff Layton <[email protected]>
> > Date: Thu Apr 21 20:51:57 2016 -0400
> >
> > nfs: don't call nfs4_ff_layout_prepare_ds from ff_layout_get_ds_cred
> >
> >
> > -dros
> >
>
> Those are already applied upstream afaics, so we can’t add any Ccs. If they need to go to stable, then someone has to submit them directly.

Oh, right. I’ll take care of it.

-dros