Re: [PATCH 5/9] xfs: struct xfs_buf_log_format isn't variable sized.

Dave Chinner
2012-06-20T07:01:52Z

On Wed, Jun 20, 2012 at 02:36:12AM -0400, Christoph Hellwig wrote:
> I like this patch with two minor nitpicks below. Given that it's a mostly
> unrelated cleanup I'd also propagate it to the first patch in the
> series.

it's not unrelated - it makes the multiple buffer support so much
easier to implement it's not funny....

> > + base_size = sizeof(struct xfs_buf_log_format) -
> > + ((XFS_BLF_DATAMAP_SIZE - bip->bli_format.blf_map_size) *
> > + sizeof(uint));
>
> I'd really move this calculation and the comment describing it into a
> macro/inline in the header, next to the defintion of struct xfs_buf_log_format.
>
> Also I'd probably rewrite the expressions as:
>
> offsetoff(struct xfs_buf_log_format, blf_map) +
> (blf->blf_map_size * sizeof(blf->blf_data_map[0]));

Yeah, probably cleaner that way...

> > /*
> > + * Minimum and maximum blocksize and sectorsize.
> > + * The blocksize upper limit is pretty much arbitrary.
> > + * The sectorsize upper limit is due to sizeof(sb_sectsize).
> > + */
> > +#define XFS_MIN_BLOCKSIZE_LOG 9 /* i.e. 512 bytes */
> > +#define XFS_MAX_BLOCKSIZE_LOG 16 /* i.e. 65536 bytes */
> > +#define XFS_MIN_BLOCKSIZE (1 << XFS_MIN_BLOCKSIZE_LOG)
> > +#define XFS_MAX_BLOCKSIZE (1 << XFS_MAX_BLOCKSIZE_LOG)
> > +#define XFS_MIN_SECTORSIZE_LOG 9 /* i.e. 512 bytes */
> > +#define XFS_MAX_SECTORSIZE_LOG 15 /* i.e. 32768 bytes */
> > +#define XFS_MIN_SECTORSIZE (1 << XFS_MIN_SECTORSIZE_LOG)
> > +#define XFS_MAX_SECTORSIZE (1 << XFS_MAX_SECTORSIZE_LOG)
>
> While I agree with the move of these constants, what does it have to do
> with this patch?

XFS_MAX_BLOCKSIZE is now needed xfs_buf_item.h, so rather than
introduce a dependency on xfs_alloc_btree.h, I moved them to where
the other limits are defined (i.e. xfs_types.h).

Cheers,

dave.

--
Dave Chinner
david@fromorbit.com