]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: remove xfarray_sortinfo.page_kaddr
authorChristoph Hellwig <hch@lst.de>
Mon, 19 Feb 2024 06:27:27 +0000 (07:27 +0100)
committerChandan Babu R <chandanbabu@kernel.org>
Wed, 21 Feb 2024 06:06:55 +0000 (11:36 +0530)
Now that xfile pages don't need kmapping, there is no need to cache
the kernel virtual address for them.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
fs/xfs/scrub/xfarray.c
fs/xfs/scrub/xfarray.h

index d0f98a43b2ba0a2a98d6c9ba8f1c2eb0dbf64b41..82b2a35a8e8630a89e71847a230ec42928fbf02b 100644 (file)
@@ -570,18 +570,7 @@ xfarray_sort_get_page(
        loff_t                  pos,
        uint64_t                len)
 {
-       int                     error;
-
-       error = xfile_get_page(si->array->xfile, pos, len, &si->xfpage);
-       if (error)
-               return error;
-
-       /*
-        * xfile pages must never be mapped into userspace, so we skip the
-        * dcache flush when mapping the page.
-        */
-       si->page_kaddr = page_address(si->xfpage.page);
-       return 0;
+       return xfile_get_page(si->array->xfile, pos, len, &si->xfpage);
 }
 
 /* Release a page we grabbed for sorting records. */
@@ -589,11 +578,8 @@ static inline int
 xfarray_sort_put_page(
        struct xfarray_sortinfo *si)
 {
-       if (!si->page_kaddr)
+       if (!xfile_page_cached(&si->xfpage))
                return 0;
-
-       si->page_kaddr = NULL;
-
        return xfile_put_page(si->array->xfile, &si->xfpage);
 }
 
@@ -636,7 +622,7 @@ xfarray_pagesort(
                return error;
 
        xfarray_sort_bump_heapsorts(si);
-       startp = si->page_kaddr + offset_in_page(lo_pos);
+       startp = page_address(si->xfpage.page) + offset_in_page(lo_pos);
        sort(startp, hi - lo + 1, si->array->obj_size, si->cmp_fn, NULL);
 
        xfarray_sort_bump_stores(si);
@@ -883,7 +869,7 @@ xfarray_sort_load_cached(
                        return error;
        }
 
-       memcpy(ptr, si->page_kaddr + offset_in_page(idx_pos),
+       memcpy(ptr, page_address(si->xfpage.page) + offset_in_page(idx_pos),
                        si->array->obj_size);
        return 0;
 }
index 62b9c506fdd1b78c0b4e03f1992b45152341592c..6f2862054e194d009bfad79378251f2cba6366ce 100644 (file)
@@ -107,7 +107,6 @@ struct xfarray_sortinfo {
 
        /* Cache a page here for faster access. */
        struct xfile_page       xfpage;
-       void                    *page_kaddr;
 
 #ifdef DEBUG
        /* Performance statistics. */