xfs: return an offset instead of a pointer from xlog_align
authorChristoph Hellwig <hch@lst.de>
Sat, 29 Jun 2019 02:27:26 +0000 (19:27 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Sat, 29 Jun 2019 02:27:26 +0000 (19:27 -0700)
This simplifies both the helper and the callers.  We lost a bit of
size sanity checking, but that is already covered by KASAN if needed.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_log_recover.c

index 883e930f2426fc42a97d2379feb15349f8bed869..a9811c01e007f23d7c7ca03906c8dabd04ae27ea 100644 (file)
@@ -151,20 +151,14 @@ xlog_put_bp(
  * Return the address of the start of the given block number's data
  * in a log buffer.  The buffer covers a log sector-aligned region.
  */
-STATIC char *
+static inline unsigned int
 xlog_align(
        struct xlog     *log,
-       xfs_daddr_t     blk_no,
-       int             nbblks,
-       struct xfs_buf  *bp)
+       xfs_daddr_t     blk_no)
 {
-       xfs_daddr_t     offset = blk_no & ((xfs_daddr_t)log->l_sectBBsize - 1);
-
-       ASSERT(offset + nbblks <= bp->b_length);
-       return bp->b_addr + BBTOB(offset);
+       return BBTOB(blk_no & ((xfs_daddr_t)log->l_sectBBsize - 1));
 }
 
-
 /*
  * nbblks should be uint, but oh well.  Just want to catch that 32-bit length.
  */
@@ -216,7 +210,7 @@ xlog_bread(
        if (error)
                return error;
 
-       *offset = xlog_align(log, blk_no, nbblks, bp);
+       *offset = bp->b_addr + xlog_align(log, blk_no);
        return 0;
 }
 
@@ -1713,7 +1707,7 @@ xlog_write_log_records(
 
                }
 
-               offset = xlog_align(log, start_block, endcount, bp);
+               offset = bp->b_addr + xlog_align(log, start_block);
                for (; j < endcount; j++) {
                        xlog_add_record(log, offset, cycle, i+j,
                                        tail_cycle, tail_block);