xfs: merge xfs_buf_zero and xfs_buf_iomove
authorChristoph Hellwig <hch@lst.de>
Wed, 12 Jun 2019 15:59:59 +0000 (08:59 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 12 Jun 2019 15:59:59 +0000 (08:59 -0700)
xfs_buf_zero is the only caller of xfs_buf_iomove.  Remove support
for copying from or to the buffer in xfs_buf_iomove and merge the
two functions.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_buf.c
fs/xfs/xfs_buf.h

index 548344e..be8afa1 100644 (file)
@@ -1613,16 +1613,11 @@ xfs_buf_offset(
        return page_address(page) + (offset & (PAGE_SIZE-1));
 }
 
-/*
- *     Move data into or out of a buffer.
- */
 void
-xfs_buf_iomove(
-       xfs_buf_t               *bp,    /* buffer to process            */
-       size_t                  boff,   /* starting buffer offset       */
-       size_t                  bsize,  /* length to copy               */
-       void                    *data,  /* data address                 */
-       xfs_buf_rw_t            mode)   /* read/write/zero flag         */
+xfs_buf_zero(
+       struct xfs_buf          *bp,
+       size_t                  boff,
+       size_t                  bsize)
 {
        size_t                  bend;
 
@@ -1639,19 +1634,9 @@ xfs_buf_iomove(
 
                ASSERT((csize + page_offset) <= PAGE_SIZE);
 
-               switch (mode) {
-               case XBRW_ZERO:
-                       memset(page_address(page) + page_offset, 0, csize);
-                       break;
-               case XBRW_READ:
-                       memcpy(data, page_address(page) + page_offset, csize);
-                       break;
-               case XBRW_WRITE:
-                       memcpy(page_address(page) + page_offset, data, csize);
-               }
+               memset(page_address(page) + page_offset, 0, csize);
 
                boff += csize;
-               data += csize;
        }
 }
 
index d0b96e0..1701efe 100644 (file)
 
 #define XFS_BUF_DADDR_NULL     ((xfs_daddr_t) (-1LL))
 
-typedef enum {
-       XBRW_READ = 1,                  /* transfer into target memory */
-       XBRW_WRITE = 2,                 /* transfer from target memory */
-       XBRW_ZERO = 3,                  /* Zero target memory */
-} xfs_buf_rw_t;
-
 #define XBF_READ        (1 << 0) /* buffer intended for reading from device */
 #define XBF_WRITE       (1 << 1) /* buffer intended for writing to device */
 #define XBF_READ_AHEAD  (1 << 2) /* asynchronous read-ahead */
@@ -305,10 +299,7 @@ static inline int xfs_buf_submit(struct xfs_buf *bp)
        return __xfs_buf_submit(bp, wait);
 }
 
-extern void xfs_buf_iomove(xfs_buf_t *, size_t, size_t, void *,
-                               xfs_buf_rw_t);
-#define xfs_buf_zero(bp, off, len) \
-           xfs_buf_iomove((bp), (off), (len), NULL, XBRW_ZERO)
+void xfs_buf_zero(struct xfs_buf *bp, size_t boff, size_t bsize);
 
 /* Buffer Utility Routines */
 extern void *xfs_buf_offset(struct xfs_buf *, size_t);