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

Christoph Hellwig hch at infradead.org
Wed Jan 11 05:34:28 CST 2012


> +	/*
> +	 * 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 at vger.kernel.org, with a [PATCH 0/0] coverletter stating it's for
2.6.35-stable.




More information about the xfs mailing list