]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: remove xfile_{get,put}_page
authorDarrick J. Wong <djwong@kernel.org>
Mon, 19 Feb 2024 06:27:30 +0000 (07:27 +0100)
committerChandan Babu R <chandanbabu@kernel.org>
Wed, 21 Feb 2024 06:06:56 +0000 (11:36 +0530)
These functions aren't used anymore, so get rid of them.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Documentation/filesystems/xfs/xfs-online-fsck-design.rst
fs/xfs/scrub/trace.h
fs/xfs/scrub/xfile.c
fs/xfs/scrub/xfile.h

index 216c99ce511f7c3e908a863d40be319af2c67341..d03480266e9b1898740073f8b468850d3f38f2fa 100644 (file)
@@ -1940,7 +1940,7 @@ mapping it into kernel address space, and dropping the folio lock.
 These long term users *must* be responsive to memory reclaim by hooking into
 the shrinker infrastructure to know when to release folios.
 
-The ``xfile_get_page`` and ``xfile_put_page`` functions are provided to
+The ``xfile_get_folio`` and ``xfile_put_folio`` functions are provided to
 retrieve the (locked) folio that backs part of an xfile and to release it.
 The only code to use these folio lease functions are the xfarray
 :ref:`sorting<xfarray_sort>` algorithms and the :ref:`in-memory
index 3a1a827828dcb96a59d6a265621079bb83e27bef..ae6b2385a8cbe5fec4b802d0f7c1725bf07471a6 100644 (file)
@@ -906,8 +906,6 @@ DEFINE_EVENT(xfile_class, name, \
 DEFINE_XFILE_EVENT(xfile_load);
 DEFINE_XFILE_EVENT(xfile_store);
 DEFINE_XFILE_EVENT(xfile_seek_data);
-DEFINE_XFILE_EVENT(xfile_get_page);
-DEFINE_XFILE_EVENT(xfile_put_page);
 DEFINE_XFILE_EVENT(xfile_get_folio);
 DEFINE_XFILE_EVENT(xfile_put_folio);
 
index 0cab9d529365bbed7ef6a575ce4eefbf350330f1..8cdd863db5850a616b65a1463edb444b108acb4c 100644 (file)
@@ -237,110 +237,6 @@ xfile_seek_data(
        return ret;
 }
 
-/*
- * Grab the (locked) page for a memory object.  The object cannot span a page
- * boundary.  Returns 0 (and a locked page) if successful, -ENOTBLK if we
- * cannot grab the page, or the usual negative errno.
- */
-int
-xfile_get_page(
-       struct xfile            *xf,
-       loff_t                  pos,
-       unsigned int            len,
-       struct xfile_page       *xfpage)
-{
-       struct inode            *inode = file_inode(xf->file);
-       struct address_space    *mapping = inode->i_mapping;
-       const struct address_space_operations *aops = mapping->a_ops;
-       struct page             *page = NULL;
-       void                    *fsdata = NULL;
-       loff_t                  key = round_down(pos, PAGE_SIZE);
-       unsigned int            pflags;
-       int                     error;
-
-       if (inode->i_sb->s_maxbytes - pos < len)
-               return -ENOMEM;
-       if (len > PAGE_SIZE - offset_in_page(pos))
-               return -ENOTBLK;
-
-       trace_xfile_get_page(xf, pos, len);
-
-       pflags = memalloc_nofs_save();
-
-       /*
-        * We call write_begin directly here to avoid all the freezer
-        * protection lock-taking that happens in the normal path.  shmem
-        * doesn't support fs freeze, but lockdep doesn't know that and will
-        * trip over that.
-        */
-       error = aops->write_begin(NULL, mapping, key, PAGE_SIZE, &page,
-                       &fsdata);
-       if (error)
-               goto out_pflags;
-
-       /* We got the page, so make sure we push out EOF. */
-       if (i_size_read(inode) < pos + len)
-               i_size_write(inode, pos + len);
-
-       /*
-        * If the page isn't up to date, fill it with zeroes before we hand it
-        * to the caller and make sure the backing store will hold on to them.
-        */
-       if (!PageUptodate(page)) {
-               memset(page_address(page), 0, PAGE_SIZE);
-               SetPageUptodate(page);
-       }
-
-       /*
-        * Mark each page dirty so that the contents are written to some
-        * backing store when we drop this buffer, and take an extra reference
-        * to prevent the xfile page from being swapped or removed from the
-        * page cache by reclaim if the caller unlocks the page.
-        */
-       set_page_dirty(page);
-       get_page(page);
-
-       xfpage->page = page;
-       xfpage->fsdata = fsdata;
-       xfpage->pos = key;
-out_pflags:
-       memalloc_nofs_restore(pflags);
-       return error;
-}
-
-/*
- * Release the (locked) page for a memory object.  Returns 0 or a negative
- * errno.
- */
-int
-xfile_put_page(
-       struct xfile            *xf,
-       struct xfile_page       *xfpage)
-{
-       struct inode            *inode = file_inode(xf->file);
-       struct address_space    *mapping = inode->i_mapping;
-       const struct address_space_operations *aops = mapping->a_ops;
-       unsigned int            pflags;
-       int                     ret;
-
-       trace_xfile_put_page(xf, xfpage->pos, PAGE_SIZE);
-
-       /* Give back the reference that we took in xfile_get_page. */
-       put_page(xfpage->page);
-
-       pflags = memalloc_nofs_save();
-       ret = aops->write_end(NULL, mapping, xfpage->pos, PAGE_SIZE, PAGE_SIZE,
-                       xfpage->page, xfpage->fsdata);
-       memalloc_nofs_restore(pflags);
-       memset(xfpage, 0, sizeof(struct xfile_page));
-
-       if (ret < 0)
-               return ret;
-       if (ret != PAGE_SIZE)
-               return -EIO;
-       return 0;
-}
-
 /*
  * Grab the (locked) folio for a memory object.  The object cannot span a folio
  * boundary.  Returns the locked folio if successful, NULL if there was no
index afb75e9fbaf2650cad5df212f50a9bff9ce1f7bd..76d78dba7e3478a06ac794c27088b588509db44e 100644 (file)
@@ -6,22 +6,6 @@
 #ifndef __XFS_SCRUB_XFILE_H__
 #define __XFS_SCRUB_XFILE_H__
 
-struct xfile_page {
-       struct page             *page;
-       void                    *fsdata;
-       loff_t                  pos;
-};
-
-static inline bool xfile_page_cached(const struct xfile_page *xfpage)
-{
-       return xfpage->page != NULL;
-}
-
-static inline pgoff_t xfile_page_index(const struct xfile_page *xfpage)
-{
-       return xfpage->page->index;
-}
-
 struct xfile {
        struct file             *file;
 };
@@ -35,10 +19,6 @@ int xfile_store(struct xfile *xf, const void *buf, size_t count,
 
 loff_t xfile_seek_data(struct xfile *xf, loff_t pos);
 
-int xfile_get_page(struct xfile *xf, loff_t offset, unsigned int len,
-               struct xfile_page *xbuf);
-int xfile_put_page(struct xfile *xf, struct xfile_page *xbuf);
-
 #define XFILE_MAX_FOLIO_SIZE   (PAGE_SIZE << MAX_PAGECACHE_ORDER)
 
 #define XFILE_ALLOC            (1 << 0) /* allocate folio if not present */