[PATCH] xfs: avoid direct I/O write vs buffered I/O race

Dave Chinner david at fromorbit.com
Tue Aug 30 01:29:24 CDT 2011


On Sat, Aug 27, 2011 at 10:42:53AM -0400, Christoph Hellwig wrote:
> Currently a buffered reader or writer can add pages to the pagecache
> while we are waiting for the iolock in xfs_file_dio_aio_write.  Prevent
> this by re-checking mapping->nrpages after we got the iolock, and if
> nessecary upgrade the lock to exclusive mode.  To simplify this a bit
> only take the ilock inside of xfs_file_aio_write_checks.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>

Looks sane. Pushing the ILOCK completely into
xfs_file_aio_write_checks() is a nice segregation of locking
responsibilities.

Reviewed-by: Dave Chinner <dchinner at redhat.com>

-- 
Dave Chinner
david at fromorbit.com




More information about the xfs mailing list