Commit ed1d612f authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong
Browse files

xfs: move the dir2 free header size to struct xfs_da_geometry



Move the free header size towards our structure for dir/attr geometry
parameters.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent a84f3d5c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ struct xfs_da_geometry {
	unsigned int	leaf_hdr_size;	/* dir2 leaf header size */
	unsigned int	leaf_max_ents;	/* # of entries in dir2 leaf */
	xfs_dablk_t	leafblk;	/* blockno of leaf data v2 */
	unsigned int	free_hdr_size;	/* dir2 free header size */
	xfs_dablk_t	freeblk;	/* blockno of free data v2 */
};

+0 −3
Original line number Diff line number Diff line
@@ -486,7 +486,6 @@ static const struct xfs_dir_ops xfs_dir2_ops = {
	.data_entry_p = xfs_dir2_data_entry_p,
	.data_unused_p = xfs_dir2_data_unused_p,

	.free_hdr_size = sizeof(struct xfs_dir2_free_hdr),
	.free_max_bests = xfs_dir2_free_max_bests,
	.db_to_fdb = xfs_dir2_db_to_fdb,
	.db_to_fdindex = xfs_dir2_db_to_fdindex,
@@ -522,7 +521,6 @@ static const struct xfs_dir_ops xfs_dir2_ftype_ops = {
	.data_entry_p = xfs_dir2_data_entry_p,
	.data_unused_p = xfs_dir2_data_unused_p,

	.free_hdr_size = sizeof(struct xfs_dir2_free_hdr),
	.free_max_bests = xfs_dir2_free_max_bests,
	.db_to_fdb = xfs_dir2_db_to_fdb,
	.db_to_fdindex = xfs_dir2_db_to_fdindex,
@@ -558,7 +556,6 @@ static const struct xfs_dir_ops xfs_dir3_ops = {
	.data_entry_p = xfs_dir3_data_entry_p,
	.data_unused_p = xfs_dir3_data_unused_p,

	.free_hdr_size = sizeof(struct xfs_dir3_free_hdr),
	.free_max_bests = xfs_dir3_free_max_bests,
	.db_to_fdb = xfs_dir3_db_to_fdb,
	.db_to_fdindex = xfs_dir3_db_to_fdindex,
+2 −0
Original line number Diff line number Diff line
@@ -125,9 +125,11 @@ xfs_da_mount(
	if (xfs_sb_version_hascrc(&mp->m_sb)) {
		dageo->node_hdr_size = sizeof(struct xfs_da3_node_hdr);
		dageo->leaf_hdr_size = sizeof(struct xfs_dir3_leaf_hdr);
		dageo->free_hdr_size = sizeof(struct xfs_dir3_free_hdr);
	} else {
		dageo->node_hdr_size = sizeof(struct xfs_da_node_hdr);
		dageo->leaf_hdr_size = sizeof(struct xfs_dir2_leaf_hdr);
		dageo->free_hdr_size = sizeof(struct xfs_dir2_free_hdr);
	}
	dageo->leaf_max_ents = (dageo->blksize - dageo->leaf_hdr_size) /
			sizeof(struct xfs_dir2_leaf_entry);
+0 −1
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ struct xfs_dir_ops {
	struct xfs_dir2_data_unused *
		(*data_unused_p)(struct xfs_dir2_data_hdr *hdr);

	int	free_hdr_size;
	int	(*free_max_bests)(struct xfs_da_geometry *geo);
	xfs_dir2_db_t (*db_to_fdb)(struct xfs_da_geometry *geo,
				   xfs_dir2_db_t db);
+1 −1
Original line number Diff line number Diff line
@@ -372,7 +372,7 @@ xfs_dir2_free_log_header(
	       free->hdr.magic == cpu_to_be32(XFS_DIR3_FREE_MAGIC));
#endif
	xfs_trans_log_buf(args->trans, bp, 0,
			  args->dp->d_ops->free_hdr_size - 1);
			  args->geo->free_hdr_size - 1);
}

/*