summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurphy Zhou <jencce.kernel@gmail.com>2020-02-14 17:34:09 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-04-23 11:38:07 +0300
commit709ddeb1a0b9d09a5cd2271b52055bda93057ec3 (patch)
tree05acfcfe8a232ada19b3d43ab8a16213c16cd72d
parentd13e32a306a6e92502b8bfa9ba55771a88bc0217 (diff)
downloadlinux-709ddeb1a0b9d09a5cd2271b52055bda93057ec3.tar.xz
NFSv4.2: error out when relink swapfile
[ Upstream commit f5fdf1243fb750598b46305dd03c553949cfa14f ] This fixes xfstests generic/356 failure on NFSv4.2. Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/nfs/nfs4file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
index 1297919e0fce..8e5d6223ddd3 100644
--- a/fs/nfs/nfs4file.c
+++ b/fs/nfs/nfs4file.c
@@ -252,6 +252,9 @@ static loff_t nfs42_remap_file_range(struct file *src_file, loff_t src_off,
if (remap_flags & ~REMAP_FILE_ADVISORY)
return -EINVAL;
+ if (IS_SWAPFILE(dst_inode) || IS_SWAPFILE(src_inode))
+ return -ETXTBSY;
+
/* check alignment w.r.t. clone_blksize */
ret = -EINVAL;
if (bs) {