On Fri, Dec 13, 2013 at 04:01:23AM -0800, Christoph Hellwig wrote:
> Looks good.
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> Two very minor nitpicks below:
> > + int stripe_align;
> > ASSERT(ap->length);
> > mp = ap->ip->i_mount;
> > +
> > + /* stripe alignment for allocation is determined by mount parameters */
> > + stripe_align = 0;
> > + if (mp->m_swidth && (mp->m_flags & XFS_MOUNT_SWALLOC))
> > + stripe_align = mp->m_swidth;
> > + else if (mp->m_dalign)
> > + stripe_align = mp->m_dalign;
> nipick: I'd either initialize the variable to zero at the point of the
> declaration or do if .. else if .. else here.
> > }
> > +
> > +
> > nullfb = *ap->firstblock == NULLFSBLOCK;
> Two newlines seem odd here. I'd support one even if that's an unrelated
> change :)
This is probably not the right thing to do for small files. They will all end
up in the first stripe unit.
Quoting jpk from
" o [XFS] Add support for allocating additional file space in stripe width
sized chunks. A new fstab/mount option, "swalloc" has been defined. If
specified when mounting a striped file system, allocation requests will be
rounded up to a stripe width if the file size is >= stripe width, and the data
is being appended to eof. The 'swalloc' option is "off" by default. "
This feature was likely designed with volume stripes in mind as opposed to to