Patch "PNFS fix EACCESS on commit to DS handling" has been added to the 4.12-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
PNFS fix EACCESS on commit to DS handling
to the 4.12-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-fix-eaccess-on-commit-to-ds-handling.patch
and it can be found in the queue-4.12 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
a0bc01e0f1fa39702b5244b3bac699bea0d4f413Mon Sep 17 00:00:00 2001
From: Olga Kornievskaia <[email protected]>
Date: Fri, 23 Jun 2017 10:26:58 -0400
Subject: PNFS fix EACCESS on commit to DS handling
From: Olga Kornievskaia <[email protected]>
commit a0bc01e0f1fa39702b5244b3bac699bea0d4f413 upstream.
Commit fabbbee0eb0f "PNFS fix fallback to MDS if got error on commit to DS" moved the pnfs_set_lo_fail() to unhandled errors which was not correct and lead to a kernel oops on umount.
Instead, fix the original EACCESS on commit to DS error by getting the new layout and re-doing the IO.
--- fs/nfs/filelayout/filelayout.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
fs/nfs/filelayout/filelayout.c +2 -1
@@ -172,6 +172,7 @@ static int filelayout_async_handle_errorcase -NFS4ERR_RETRY_UNCACHED_REP :break ;/* Invalidate Layout errors */ +case -NFS4ERR_ACCESS :case -NFS4ERR_PNFS_NO_LAYOUT :case -ESTALE :/* mapped NFS4ERR_STALE */ case -EBADHANDLE :/* mapped NFS4ERR_BADHANDLE */
@@ -202,10 +203,10 @@ static int filelayout_async_handle_error task->tk_status);nfs4_mark_deviceid_unavailable (devid);pnfs_error_mark_layout_for_return (inode, lseg); +pnfs_set_lo_fail (lseg);rpc_wake_up (&tbl->slot_tbl_waitq);/* fall through */ default : -pnfs_set_lo_fail (lseg); reset:dprintk ("%s Retry through MDS. Error %d\n" , __func__, task->tk_status);
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/pnfs-fix-eaccess-on-commit-to-ds-handling.patch