]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/xfs/xfs_alloc_btree.c
[XFS] kill xfs_ialloc_log_di
[linux-2.6-omap-h63xx.git] / fs / xfs / xfs_alloc_btree.c
index 9e63f8c180d9f78652d6694fb8d1b1ea0a6be510..733cb75a8c5d956b96743f4b67c6a654850a366a 100644 (file)
@@ -179,7 +179,7 @@ xfs_allocbt_update_lastrec(
                if (numrecs) {
                        xfs_alloc_rec_t *rrp;
 
-                       rrp = XFS_ALLOC_REC_ADDR(block, numrecs, cur);
+                       rrp = XFS_ALLOC_REC_ADDR(cur->bc_mp, block, numrecs);
                        len = rrp->ar_blockcount;
                } else {
                        len = 0;
@@ -480,3 +480,19 @@ xfs_allocbt_init_cursor(
 
        return cur;
 }
+
+/*
+ * Calculate number of records in an alloc btree block.
+ */
+int
+xfs_allocbt_maxrecs(
+       struct xfs_mount        *mp,
+       int                     blocklen,
+       int                     leaf)
+{
+       blocklen -= XFS_ALLOC_BLOCK_LEN(mp);
+
+       if (leaf)
+               return blocklen / sizeof(xfs_alloc_rec_t);
+       return blocklen / (sizeof(xfs_alloc_key_t) + sizeof(xfs_alloc_ptr_t));
+}