mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
NFSv4.1/pNFS: fix LAYOUTCOMMIT retry loop on OLD_STATEID
Handle -NFS4ERR_OLD_STATEID in nfs4_layoutcommit_done(). This issue was reproduced on NFSv4.2. Without refreshing data->args.stateid, LAYOUTCOMMIT can keep retrying with the same stale stateid after OLD_STATEID, resulting in an unbounded retry loop. Refresh the layout stateid with nfs4_layout_refresh_old_stateid() and restart the RPC only after a successful refresh. Changes since v1: update refreshed stateid in inode layout header. Signed-off-by: Lei Yin <yinlei2@lenovo.com> [Anna: Fix up dprintk() format specifier] Signed-off-by: Anna Schumaker <anna.schumaker@hammerspace.com>
This commit is contained in:
parent
ef74e44538
commit
d616d8bec3
1 changed files with 32 additions and 0 deletions
Loading…
Add table
Add a link
Reference in a new issue