summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_icache.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-09-17 21:07:11 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-09-20 06:20:02 (GMT)
commit772003c6a4282211487c9d33958594d7f2be7dd2 (patch)
treeb0b6cd99b81fd969f1f31992336690f28eea1ae2 /fs/xfs/xfs_icache.h
parentbb69e8a228a74c9aa7b70f6624e5c4fa1af70533 (diff)
downloadlinux-772003c6a4282211487c9d33958594d7f2be7dd2.tar.xz
xfs: open code end_buffer_async_write in xfs_finish_page_writeback
commit 8353a814f2518dcfa79a5bb77afd0e7dfa391bb1 upstream. Our loop in xfs_finish_page_writeback, which iterates over all buffer heads in a page and then calls end_buffer_async_write, which also iterates over all buffers in the page to check if any I/O is in flight is not only inefficient, but also potentially dangerous as end_buffer_async_write can cause the page and all buffers to be freed. Replace it with a single loop that does the work of end_buffer_async_write on a per-page basis. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/xfs/xfs_icache.h')
0 files changed, 0 insertions, 0 deletions