> +/* > + * Add the data entry for a node-format directory name addition. > + * The leaf entry is added in xfs_dir2_leafn_add. > + * We may enter with a freespace block that the lookup found. > + */ > +static int /* error */ > +xfs_dir2_node_addname_int( > + xfs_da_args_t *args, /* operation arguments */ > + xfs_da_state_blk_t *fblk) /* optional freespace block */ > +{ > + xfs_dir2_data_hdr_t *hdr; /* data block header */ > + xfs_dir2_db_t dbno; /* data block number */ > + struct xfs_buf *dbp; /* data block buffer */ > + xfs_dir2_data_entry_t *dep; /* data entry pointer */ > + xfs_inode_t *dp; /* incore directory inode */ > + xfs_dir2_data_unused_t *dup; /* data unused entry pointer */ > + int error; /* error return value */ > + struct xfs_buf *fbp; /* freespace buffer */ > + int findex; /* freespace entry index */ > + xfs_dir2_free_t *free=NULL; /* freespace block structure */ > + int length; /* length of the new entry */ > + int logfree = 0; /* need to log free entry */ > + int needlog = 0; /* need to log data header */ > + int needscan = 0; /* need to rescan data frees */ > + __be16 *tagp; /* data entry tag pointer */ > + xfs_trans_t *tp; /* transaction pointer */ > + __be16 *bests; > + struct xfs_dir2_data_free *bf; > + xfs_dir2_data_aoff_t aoff; > + > + dp = args->dp; > + tp = args->trans; > + length = dp->d_ops->data_entsize(args->namelen); Can you remove the use of typedefs and move the trivial initializers to the declaration like you've done for the new helpers here? Otherwise this looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx>