summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_iops.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-12-01 17:27:40 -0600
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 08:54:29 -0800
commit6a426248da83e544995fc8a494630285260ec4ee (patch)
tree592bbae08e1db5db4192c89fe41c5af6d3c41534 /fs/xfs/xfs_iops.c
parent686da49e5aa50117d8d824c579c3fd9e0318fbc6 (diff)
xfs: avoid direct I/O write vs buffered I/O race
commit c58cb165bd44de8aaee9755a144136ae743be116 upstream. 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@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Alex Elder <aelder@sgi.com> Cc: Ben Myers <bpm@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/xfs/xfs_iops.c')
0 files changed, 0 insertions, 0 deletions