Re: [PATCH 18/27] xfs: avoid usage of struct xfs_dir2_data

Christoph Hellwig
2011-07-06T08:45:51Z

On Tue, Jul 05, 2011 at 10:38:22PM -0500, Alex Elder wrote:
> On Fri, 2011-07-01 at 05:43 -0400, Christoph Hellwig wrote:
> > In most places we can simply pass around and use the struct xfs_dir2_data_hdr,
> > which is the first and most important member of struct xfs_dir2_data instead
> > of the full structure.
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
>
> In xfs_dir2_data_freescan() you get the address of the
> dir2_data_t by forcibly casting the address of the
> header to that type. We all know that's fine, but
> it's an unsavory practice. Why don't you pass the
> full dir2_data_t in that case where it's needed?
> Are you simply trying to avoid passing *any* pointers
> to variable-sized types?

I'm restricting the dir2_data_t scope to where we needed it,
to kill it (and thus the cast) off entirely in the next patch.

> (Update: I think you eliminate that line in the next
> patch anyway...)

Exactly!