Patch "pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid" has been added to the 4.8-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pnfs-clear-nfs_layout_return_requested-when-invalidating-the-layout-stateid.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
ae5a459d5f65c3e83f3e14068dde5fb9c9d81807Mon Sep 17 00:00:00 2001
From: Trond Myklebust <[email protected]>
Date: Mon, 14 Nov 2016 14:34:18 -0500
Subject: pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid
From: Trond Myklebust <[email protected]>
commit ae5a459d5f65c3e83f3e14068dde5fb9c9d81807 upstream.
We must ensure that we don't schedule a layoutreturn if the layout stateid has been marked as invalid.
--- fs/nfs/pnfs.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)
fs/nfs/pnfs.c +9 -8
@@ -252,6 +252,14 @@ pnfs_put_layout_hdr(struct pnfs_layout_h } } +static void +pnfs_clear_layoutreturn_info (struct pnfs_layout_hdr *lo) +{ + lo->plh_return_iomode =0 ; + lo->plh_return_seq =0 ; +clear_bit (NFS_LAYOUT_RETURN_REQUESTED , &lo->plh_flags); +} +/* * Mark a pnfs_layout_hdr and all associated layout segments as invalid *
@@ -270,6 +278,7 @@ pnfs_mark_layout_stateid_invalid(struct };set_bit (NFS_LAYOUT_INVALID_STID , &lo->plh_flags); +pnfs_clear_layoutreturn_info (lo);return pnfs_mark_matching_lsegs_invalid (lo, lseg_list, &range,0 ); }
@@ -771,14 +780,6 @@ pnfs_destroy_all_layouts(struct nfs_cliepnfs_destroy_layouts_byclid (clp, false); } -static void -pnfs_clear_layoutreturn_info (struct pnfs_layout_hdr *lo) -{ - lo->plh_return_iomode =0 ; - lo->plh_return_seq =0 ; -clear_bit (NFS_LAYOUT_RETURN_REQUESTED , &lo->plh_flags); -} -/* update lo->plh_stateid with new if is more recent */ void pnfs_set_layout_stateid(struct pnfs_layout_hdr *lo, const nfs4_stateid *new,
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/pnfs-fix-a-deadlock-between-read-resends-and-layoutreturn.patch queue-4.8/pnfs-don-t-clear-the-layout-stateid-if-a-layout-return-is-outstanding.patch queue-4.8/sunrpc-fix-refcounting-problems-with-auth_gss-messages.patch queue-4.8/pnfs-on-error-do-not-send-layoutget-until-the-layoutreturn-has-completed.patch queue-4.8/pnfs-clear-nfs_layout_return_requested-when-invalidating-the-layout-stateid.patch