diff options
| author | Tim Menninger <tmenninger@everpuredata.com> | 2026-08-19 12:41:21 +0000 |
|---|---|---|
| committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2026-08-20 15:18:20 -0700 |
| commit | 20358201777496fd0bb7b4336fcb4d3fc13cad28 (patch) | |
| tree | bbfe76b13a51ce00630c9b2ec8e0438cfe6d775d | |
| parent | 8fa4804fe62ca4155a2d8fc2789d630376cbf2fc (diff) | |
| download | lwn-20358201777496fd0bb7b4336fcb4d3fc13cad28.tar.gz lwn-20358201777496fd0bb7b4336fcb4d3fc13cad28.zip | |
pNFS: Fix EBUSY check in pnfs_layout_need_return
Commit 41d0a8ead9720 ("NFSv4/pnfs: Add support for the
PNFS_LAYOUT_FILE_BULK_RETURN flag") replaced
pnfs_layout_segments_returnable() in pnfs_layout_need_return() with a
direct call to pnfs_mark_layout_stateid_return().
The old helper checked the return value against -EBUSY, but the
replacement compares against EBUSY. Since
pnfs_mark_layout_stateid_return() returns negative errno values, the
-EBUSY case is never detected.
Fix the comparison in pnfs_layout_need_return() to check against -EBUSY.
Fixes: 41d0a8ead9720 ("NFSv4/pnfs: Add support for the PNFS_LAYOUT_FILE_BULK_RETURN flag")
Cc: stable@vger.kernel.org
Signed-off-by: Tim Menninger <tmenninger@everpuredata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
| -rw-r--r-- | fs/nfs/pnfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 9a08fd076e0a..f0379dacf197 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1390,7 +1390,7 @@ pnfs_layout_need_return(struct pnfs_layout_hdr *lo) return false; return pnfs_mark_layout_stateid_return(lo, &lo->plh_return_segs, lo->plh_return_iomode, - lo->plh_return_seq) != EBUSY; + lo->plh_return_seq) != -EBUSY; } static void pnfs_layoutreturn_before_put_layout_hdr(struct pnfs_layout_hdr *lo) |
