diff options
author | 2017-05-18 10:19:33 -0600 | |
---|---|---|
committer | 2017-05-18 10:19:33 -0600 | |
commit | a1a9af4e9d9ec65c22d3cfe449e0420d17dbedba (patch) | |
tree | 05bd08bb1987aa92b84b49b9ee4eee0ba3b2917f /fs/nfs/filelayout/filelayout.c | |
parent | doc: replace FTP URL to kernel.org with HTTPS one (diff) | |
parent | Linux 4.12-rc1 (diff) | |
download | linux-dev-a1a9af4e9d9ec65c22d3cfe449e0420d17dbedba.tar.xz linux-dev-a1a9af4e9d9ec65c22d3cfe449e0420d17dbedba.zip |
Merge tag 'v4.12-rc1' into docs-next
Linux 4.12-rc1
Diffstat (limited to 'fs/nfs/filelayout/filelayout.c')
-rw-r--r-- | fs/nfs/filelayout/filelayout.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/nfs/filelayout/filelayout.c b/fs/nfs/filelayout/filelayout.c index acd30baca461..1cf85d65b748 100644 --- a/fs/nfs/filelayout/filelayout.c +++ b/fs/nfs/filelayout/filelayout.c @@ -921,11 +921,11 @@ fl_pnfs_update_layout(struct inode *ino, fl = FILELAYOUT_LSEG(lseg); status = filelayout_check_deviceid(lo, fl, gfp_flags); - if (status) + if (status) { + pnfs_put_lseg(lseg); lseg = ERR_PTR(status); + } out: - if (IS_ERR(lseg)) - pnfs_put_lseg(lseg); return lseg; } @@ -933,6 +933,7 @@ static void filelayout_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req) { + pnfs_generic_pg_check_layout(pgio); if (!pgio->pg_lseg) { pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode, req->wb_context, @@ -959,6 +960,7 @@ filelayout_pg_init_write(struct nfs_pageio_descriptor *pgio, struct nfs_commit_info cinfo; int status; + pnfs_generic_pg_check_layout(pgio); if (!pgio->pg_lseg) { pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode, req->wb_context, |