aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-12-21 09:32:24 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2024-12-21 09:32:24 -0800
commit4a5da3f5d35000bd8e5dd78732679a1e00fae719 (patch)
treee844eac782e4d4e04850cb56a8afc376028b89a9
parent7684392f17b05a9881a5f05b6ca5684321598140 (diff)
parentbedb4e6088a886f587d2ea44e0c198c8ce2182c9 (diff)
downloadlinux-4a5da3f5d35000bd8e5dd78732679a1e00fae719.tar.gz
linux-4a5da3f5d35000bd8e5dd78732679a1e00fae719.tar.bz2
linux-4a5da3f5d35000bd8e5dd78732679a1e00fae719.zip
Merge tag 'nfs-for-6.13-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull NFS client fixes from Trond Myklebust: - NFS/pnfs: Fix a live lock between recalled layouts and layoutget - Fix a build warning about an undeclared symbol 'nfs_idmap_cache_timeout' * tag 'nfs-for-6.13-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: fs/nfs: fix missing declaration of nfs_idmap_cache_timeout NFS/pnfs: Fix a live lock between recalled layouts and layoutget
-rw-r--r--fs/nfs/pnfs.c2
-rw-r--r--fs/nfs/super.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 0d16b383a452..5f582713bf05 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1308,7 +1308,7 @@ pnfs_prepare_layoutreturn(struct pnfs_layout_hdr *lo,
enum pnfs_iomode *iomode)
{
/* Serialise LAYOUTGET/LAYOUTRETURN */
- if (atomic_read(&lo->plh_outstanding) != 0)
+ if (atomic_read(&lo->plh_outstanding) != 0 && lo->plh_return_seq == 0)
return false;
if (test_and_set_bit(NFS_LAYOUT_RETURN_LOCK, &lo->plh_flags))
return false;
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index ae5c5e39afa0..aeb715b4a690 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -73,6 +73,7 @@
#include "nfs.h"
#include "netns.h"
#include "sysfs.h"
+#include "nfs4idmap.h"
#define NFSDBG_FACILITY NFSDBG_VFS