Commit de144ff4 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4: Don't discard segments marked for return in _pnfs_return_layout()



If the pNFS layout segment is marked with the NFS_LSEG_LAYOUTRETURN
flag, then the assumption is that it has some reporting requirement
to perform through a layoutreturn (e.g. flexfiles layout stats or error
information).

Fixes: 6d597e17 ("pnfs: only tear down lsegs that precede seqid in LAYOUTRETURN args")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 39fd0186
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1344,7 +1344,7 @@ _pnfs_return_layout(struct inode *ino)
	}
	valid_layout = pnfs_layout_is_valid(lo);
	pnfs_clear_layoutcommit(ino, &tmp_list);
	pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL, 0);
	pnfs_mark_matching_lsegs_return(lo, &tmp_list, NULL, 0);

	if (NFS_SERVER(ino)->pnfs_curr_ld->return_range) {
		struct pnfs_layout_range range = {