Re: [PATCH 1/1] xfs: serialise unaligned direct IOs

From: Christoph Hellwig
Date: Wed Jan 11 2012 - 06:34:30 EST


> + /*
> + * In most cases the direct IO writes will be done with IOLOCK_SHARED
> + * allowing them to be done in parallel with reads and other direct IO
> + * writes. However,if the IO is not aligned to filesystem blocks, the
> + * direct IO layer needs to do sub-block zeroing and that requires
> + * serialisation against other direct IOs to the same block. In this
> + * case we need to serialise the submission of the unaligned IOs so
> + * that we don't get racing block zeroing in the dio layer.
> + * To avoid the problem with aio, we also need to wait for outstanding
> + * IOs to complete so that unwritten extent conversion is completed
> + * before we try to map the overlapping block. This is currently
> + * implemented by hitting it with a big hammer (i.e. xfs_ioend_wait()).
> + */
> +

This comment is lacking one level of indentation, that's because the old
kernel is missing the split of xfs_file_aio_write that reduces one level
of indentation.

Otherwise the backport looks fine, please send it to
stable@xxxxxxxxxxxxxxx, with a [PATCH 0/0] coverletter stating it's for
2.6.35-stable.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/