xfs: minor cleanups of xfs_attr3_rmt_blocks
authorDarrick J. Wong <djwong@kernel.org>
Thu, 2 May 2024 14:48:37 +0000 (07:48 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 2 May 2024 14:48:37 +0000 (07:48 -0700)
Clean up the type signature of this function since we don't have
negative attr lengths or block counts.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Andrey Albershteyn <aalbersh@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_attr_remote.c

index 043b837a3ef7c26b3a0747eaf128e34edc71a9dd..4c44ce1c8a644b2f3d222006e55c0d235cc221ab 100644 (file)
@@ -56,19 +56,19 @@ xfs_attr3_rmt_buf_space(
        return blocksize;
 }
 
-/*
- * Each contiguous block has a header, so it is not just a simple attribute
- * length to FSB conversion.
- */
+/* Compute number of fsblocks needed to store a remote attr value */
 unsigned int
 xfs_attr3_rmt_blocks(
        struct xfs_mount        *mp,
        unsigned int            attrlen)
 {
-       if (xfs_has_crc(mp)) {
-               unsigned int buflen = xfs_attr3_rmt_buf_space(mp);
-               return (attrlen + buflen - 1) / buflen;
-       }
+       /*
+        * Each contiguous block has a header, so it is not just a simple
+        * attribute length to FSB conversion.
+        */
+       if (xfs_has_crc(mp))
+               return howmany(attrlen, xfs_attr3_rmt_buf_space(mp));
+
        return XFS_B_TO_FSB(mp, attrlen);
 }