pNFS: Fix a reference leak in _pnfs_return_layout

IF NFS_LAYOUT_RETURN_REQUESTED is not set, then we currently exit
without freeing the list of invalidated layout segments, leading
to a reference leak.

Reported-by: Olga Kornievskaia <aglo@umich.edu>
Fixes: 24408f5282 ("pNFS: Fix bugs in _pnfs_return_layout")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>

+1 -1
+1 -1
fs/nfs/pnfs.c
··· 1200 1201 send = pnfs_prepare_layoutreturn(lo, &stateid, NULL); 1202 spin_unlock(&ino->i_lock); 1203 - pnfs_free_lseg_list(&tmp_list); 1204 if (send) 1205 status = pnfs_send_layoutreturn(lo, &stateid, IOMODE_ANY, true); 1206 out_put_layout_hdr: 1207 pnfs_put_layout_hdr(lo); 1208 out: 1209 dprintk("<-- %s status: %d\n", __func__, status);
··· 1200 1201 send = pnfs_prepare_layoutreturn(lo, &stateid, NULL); 1202 spin_unlock(&ino->i_lock); 1203 if (send) 1204 status = pnfs_send_layoutreturn(lo, &stateid, IOMODE_ANY, true); 1205 out_put_layout_hdr: 1206 + pnfs_free_lseg_list(&tmp_list); 1207 pnfs_put_layout_hdr(lo); 1208 out: 1209 dprintk("<-- %s status: %d\n", __func__, status);