aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Hellwig <[email protected]>2024-06-18 18:56:47 +1200
committerAndrew Morton <[email protected]>2024-06-24 20:52:11 -0700
commit54e7d59841dab977f6cb1183d658b1b82c9f4e94 (patch)
tree32cde73972a09b3c0f2abbe002d88327ecc8d9b0
parentc6408250703530187cc6250dcd702d12a71c44f5 (diff)
nfs: drop the incorrect assertion in nfs_swap_rw()
Since commit 2282679fb20b ("mm: submit multipage write for SWP_FS_OPS swap-space"), we can plug multiple pages then unplug them all together. That means iov_iter_count(iter) could be way bigger than PAGE_SIZE, it actually equals the size of iov_iter_npages(iter, INT_MAX). Note this issue has nothing to do with large folios as we don't support THP_SWPOUT to non-block devices. [[email protected]: figure out the cause and correct the commit message] Link: https://lkml.kernel.org/r/[email protected] Fixes: 2282679fb20b ("mm: submit multipage write for SWP_FS_OPS swap-space") Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Barry Song <[email protected]> Closes: https://lore.kernel.org/linux-mm/[email protected]/ Reviewed-by: Martin Wege <[email protected]> Cc: NeilBrown <[email protected]> Cc: Anna Schumaker <[email protected]> Cc: Steve French <[email protected]> Cc: Trond Myklebust <[email protected]> Cc: Chuanhua Han <[email protected]> Cc: Ryan Roberts <[email protected]> Cc: Chris Li <[email protected]> Cc: "Huang, Ying" <[email protected]> Cc: Jeff Layton <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r--fs/nfs/direct.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
index bb2f583eb28b..90079ca134dd 100644
--- a/fs/nfs/direct.c
+++ b/fs/nfs/direct.c
@@ -141,8 +141,6 @@ int nfs_swap_rw(struct kiocb *iocb, struct iov_iter *iter)
{
ssize_t ret;
- VM_BUG_ON(iov_iter_count(iter) != PAGE_SIZE);
-
if (iov_iter_rw(iter) == READ)
ret = nfs_file_direct_read(iocb, iter, true);
else