NFS41: fix error of setting blocklayoutdriver
Subsystems (2)
PATCH v2 1/1 NFS41: fix error of setting blocklayoutdriver
After commit e38eb650 (NFS: set_pnfs_layoutdriver() from nfs4_proc_fsinfo()), set_pnfs_layoutdriver() is called inside nfs4_proc_fsinfo(), but pnfs_blksize is not set. It causes setting blocklayoutdriver failure and pnfsblock mount failure.
--- fs/nfs/client.c | 1 - fs/nfs/nfs4proc.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-)
fs/nfs/client.c +0 -1
@@ -855,7 +855,6 @@ static void nfs_server_set_fsinfo(struct nfs_server *server,if (server->wsize >NFS_MAX_FILE_IO_SIZE ) server->wsize =NFS_MAX_FILE_IO_SIZE ; server->wpages = (server->wsize +PAGE_CACHE_SIZE -1 ) >>PAGE_CACHE_SHIFT ; - server->pnfs_blksize = fsinfo->blksize; server->wtmult =nfs_block_bits (fsinfo->wtmult,NULL );
fs/nfs/nfs4proc.c +4 -1
@@ -3362,8 +3362,11 @@ static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, snfs_fattr_init (fsinfo->fattr); error =nfs4_do_fsinfo (server, fhandle, fsinfo); -if (error ==0 ) +if (error ==0 ) { +/* block layout checks this! */ + server->pnfs_blksize = fsinfo->blksize;set_pnfs_layoutdriver (server, fhandle, fsinfo->layouttype); + }return error; }
Signature · 1 line
1.7.1.262.g5ef3d
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQZW5nIFRhbyBbbWFpbHRvOmJl cmd3b2xmQGdtYWlsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMDgsIDIwMTIgMTA6 NTcgUE0NCj4gVG86IFRyb25kLk15a2xlYnVzdEBuZXRhcHAuY29tDQo+IENjOiBsaW51eC1uZnNA dmdlci5rZXJuZWwub3JnOyBCcnlhbiBTY2h1bWFrZXI7IFBlbmcsIFRhbw0KPiBTdWJqZWN0OiBb UEFUQ0gtdjJdIE5GUzQxOiBmaXggZXJyb3Igb2Ygc2V0dGluZyBibG9ja2xheW91dGRyaXZlcg0K PiANCj4gQWZ0ZXIgY29tbWl0IGUzOGViNjUwIChORlM6IHNldF9wbmZzX2xheW91dGRyaXZlcigp IGZyb20NCj4gbmZzNF9wcm9jX2ZzaW5mbygpKSwgc2V0X3BuZnNfbGF5b3V0ZHJpdmVyKCkgaXMg Y2FsbGVkIGluc2lkZQ0KPiBuZnM0X3Byb2NfZnNpbmZvKCksIGJ1dCBwbmZzX2Jsa3NpemUgaXMg bm90IHNldC4gSXQgY2F1c2VzIHNldHRpbmcNCj4gYmxvY2tsYXlvdXRkcml2ZXIgZmFpbHVyZSBh bmQgcG5mc2Jsb2NrIG1vdW50IGZhaWx1cmUuDQo+IA0KSnVzdCBub3RpY2VkIHRoYXQgdGhlIGNv bW1pdCBlMzhlYjY1MCBoYXMgYmVlbiBtZXJnZWQgaW4gMy41IHJlbGVhc2UuIFRyb25kLCBwbGVh c2UgYWRkIGEgbGluZSB0byBzdGFibGUgd2hlbiB5b3UgbWVyZ2UgdGhlIHBhdGNoLiBUaGFua3Mg dmVyeSBtdWNoIQ0KQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcgW3YzLjVdDQoNCkNoZWVycywN ClRhbyANCg0K