[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