On Fri, Oct 26, 2018 at 02:48:05AM -0700, Christoph Hellwig wrote: > > +/* > > + * 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? I didn't touch this code in xfs_dir2_node_addname_int() except to remove variables that are now in the new function. What you see here is a result of the diff generator deciding to replace the original declaration of this function with the new function I added, and so it looks like I add this code when in fact I didn't... I'll go back an fixup up more code. -Dave. -- Dave Chinner david@xxxxxxxxxxxxx