]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/xfs/xfs_attr_remote.c
xfs: replace attr LBSIZE with xfs_da_geometry
[karo-tx-linux.git] / fs / xfs / xfs_attr_remote.c
index 0f0679a134e2af19ba697e43f136f621c992ec22..b5adfecbb8ee897bc3745beb0103aa4635663012 100644 (file)
@@ -125,6 +125,7 @@ xfs_attr3_rmt_read_verify(
        char            *ptr;
        int             len;
        xfs_daddr_t     bno;
+       int             blksize = mp->m_attr_geo->blksize;
 
        /* no verification of non-crc buffers */
        if (!xfs_sb_version_hascrc(&mp->m_sb))
@@ -133,21 +134,20 @@ xfs_attr3_rmt_read_verify(
        ptr = bp->b_addr;
        bno = bp->b_bn;
        len = BBTOB(bp->b_length);
-       ASSERT(len >= XFS_LBSIZE(mp));
+       ASSERT(len >= blksize);
 
        while (len > 0) {
-               if (!xfs_verify_cksum(ptr, XFS_LBSIZE(mp),
-                                     XFS_ATTR3_RMT_CRC_OFF)) {
+               if (!xfs_verify_cksum(ptr, blksize, XFS_ATTR3_RMT_CRC_OFF)) {
                        xfs_buf_ioerror(bp, EFSBADCRC);
                        break;
                }
-               if (!xfs_attr3_rmt_verify(mp, ptr, XFS_LBSIZE(mp), bno)) {
+               if (!xfs_attr3_rmt_verify(mp, ptr, blksize, bno)) {
                        xfs_buf_ioerror(bp, EFSCORRUPTED);
                        break;
                }
-               len -= XFS_LBSIZE(mp);
-               ptr += XFS_LBSIZE(mp);
-               bno += mp->m_bsize;
+               len -= blksize;
+               ptr += blksize;
+               bno += BTOBB(blksize);
        }
 
        if (bp->b_error)
@@ -165,6 +165,7 @@ xfs_attr3_rmt_write_verify(
        char            *ptr;
        int             len;
        xfs_daddr_t     bno;
+       int             blksize = mp->m_attr_geo->blksize;
 
        /* no verification of non-crc buffers */
        if (!xfs_sb_version_hascrc(&mp->m_sb))
@@ -173,10 +174,10 @@ xfs_attr3_rmt_write_verify(
        ptr = bp->b_addr;
        bno = bp->b_bn;
        len = BBTOB(bp->b_length);
-       ASSERT(len >= XFS_LBSIZE(mp));
+       ASSERT(len >= blksize);
 
        while (len > 0) {
-               if (!xfs_attr3_rmt_verify(mp, ptr, XFS_LBSIZE(mp), bno)) {
+               if (!xfs_attr3_rmt_verify(mp, ptr, blksize, bno)) {
                        xfs_buf_ioerror(bp, EFSCORRUPTED);
                        xfs_verifier_error(bp);
                        return;
@@ -187,11 +188,11 @@ xfs_attr3_rmt_write_verify(
                        rmt = (struct xfs_attr3_rmt_hdr *)ptr;
                        rmt->rm_lsn = cpu_to_be64(bip->bli_item.li_lsn);
                }
-               xfs_update_cksum(ptr, XFS_LBSIZE(mp), XFS_ATTR3_RMT_CRC_OFF);
+               xfs_update_cksum(ptr, blksize, XFS_ATTR3_RMT_CRC_OFF);
 
-               len -= XFS_LBSIZE(mp);
-               ptr += XFS_LBSIZE(mp);
-               bno += mp->m_bsize;
+               len -= blksize;
+               ptr += blksize;
+               bno += BTOBB(blksize);
        }
        ASSERT(len == 0);
 }
@@ -240,12 +241,13 @@ xfs_attr_rmtval_copyout(
        char            *src = bp->b_addr;
        xfs_daddr_t     bno = bp->b_bn;
        int             len = BBTOB(bp->b_length);
+       int             blksize = mp->m_attr_geo->blksize;
 
-       ASSERT(len >= XFS_LBSIZE(mp));
+       ASSERT(len >= blksize);
 
        while (len > 0 && *valuelen > 0) {
                int hdr_size = 0;
-               int byte_cnt = XFS_ATTR3_RMT_BUF_SPACE(mp, XFS_LBSIZE(mp));
+               int byte_cnt = XFS_ATTR3_RMT_BUF_SPACE(mp, blksize);
 
                byte_cnt = min(*valuelen, byte_cnt);
 
@@ -263,9 +265,9 @@ xfs_attr_rmtval_copyout(
                memcpy(*dst, src + hdr_size, byte_cnt);
 
                /* roll buffer forwards */
-               len -= XFS_LBSIZE(mp);
-               src += XFS_LBSIZE(mp);
-               bno += mp->m_bsize;
+               len -= blksize;
+               src += blksize;
+               bno += BTOBB(blksize);
 
                /* roll attribute data forwards */
                *valuelen -= byte_cnt;
@@ -287,12 +289,13 @@ xfs_attr_rmtval_copyin(
        char            *dst = bp->b_addr;
        xfs_daddr_t     bno = bp->b_bn;
        int             len = BBTOB(bp->b_length);
+       int             blksize = mp->m_attr_geo->blksize;
 
-       ASSERT(len >= XFS_LBSIZE(mp));
+       ASSERT(len >= blksize);
 
        while (len > 0 && *valuelen > 0) {
                int hdr_size;
-               int byte_cnt = XFS_ATTR3_RMT_BUF_SPACE(mp, XFS_LBSIZE(mp));
+               int byte_cnt = XFS_ATTR3_RMT_BUF_SPACE(mp, blksize);
 
                byte_cnt = min(*valuelen, byte_cnt);
                hdr_size = xfs_attr3_rmt_hdr_set(mp, dst, ino, *offset,
@@ -304,17 +307,17 @@ xfs_attr_rmtval_copyin(
                 * If this is the last block, zero the remainder of it.
                 * Check that we are actually the last block, too.
                 */
-               if (byte_cnt + hdr_size < XFS_LBSIZE(mp)) {
+               if (byte_cnt + hdr_size < blksize) {
                        ASSERT(*valuelen - byte_cnt == 0);
-                       ASSERT(len == XFS_LBSIZE(mp));
+                       ASSERT(len == blksize);
                        memset(dst + hdr_size + byte_cnt, 0,
-                                       XFS_LBSIZE(mp) - hdr_size - byte_cnt);
+                                       blksize - hdr_size - byte_cnt);
                }
 
                /* roll buffer forwards */
-               len -= XFS_LBSIZE(mp);
-               dst += XFS_LBSIZE(mp);
-               bno += mp->m_bsize;
+               len -= blksize;
+               dst += blksize;
+               bno += BTOBB(blksize);
 
                /* roll attribute data forwards */
                *valuelen -= byte_cnt;