xfs: convert directory db conversion to xfs_da_geometry
Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:

committed by
Dave Chinner

parent
2998ab1d45
commit
30028030b1
@@ -117,9 +117,14 @@ xfs_da_mount(
|
||||
dageo->fsblog = mp->m_sb.sb_blocklog;
|
||||
dageo->blksize = 1 << dageo->blklog;
|
||||
dageo->fsbcount = 1 << mp->m_sb.sb_dirblklog;
|
||||
dageo->datablk = xfs_dir2_byte_to_da(mp, XFS_DIR2_DATA_OFFSET);
|
||||
dageo->leafblk = xfs_dir2_byte_to_da(mp, XFS_DIR2_LEAF_OFFSET);
|
||||
dageo->freeblk = xfs_dir2_byte_to_da(mp, XFS_DIR2_FREE_OFFSET);
|
||||
|
||||
/*
|
||||
* Now we've set up the block conversion variables, we can calculate the
|
||||
* segment block constants using the geometry structure.
|
||||
*/
|
||||
dageo->datablk = xfs_dir2_byte_to_da(dageo, XFS_DIR2_DATA_OFFSET);
|
||||
dageo->leafblk = xfs_dir2_byte_to_da(dageo, XFS_DIR2_LEAF_OFFSET);
|
||||
dageo->freeblk = xfs_dir2_byte_to_da(dageo, XFS_DIR2_FREE_OFFSET);
|
||||
dageo->node_ents = (dageo->blksize - nodehdr_size) /
|
||||
(uint)sizeof(xfs_da_node_entry_t);
|
||||
dageo->magicpct = (dageo->blksize * 37) / 100;
|
||||
@@ -744,7 +749,7 @@ xfs_dir2_shrink_inode(
|
||||
/*
|
||||
* If it's not a data block, we're done.
|
||||
*/
|
||||
if (db >= xfs_dir2_byte_to_db(mp, XFS_DIR2_LEAF_OFFSET))
|
||||
if (db >= xfs_dir2_byte_to_db(args->geo, XFS_DIR2_LEAF_OFFSET))
|
||||
return 0;
|
||||
/*
|
||||
* If the block isn't the last one in the directory, we're done.
|
||||
|
Reference in New Issue
Block a user