diff options
author | Christoph Hellwig <hch@lst.de> | 2017-09-02 09:53:41 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2017-09-03 10:40:45 -0700 |
commit | 8353a814f2518dcfa79a5bb77afd0e7dfa391bb1 (patch) | |
tree | c0acfb3c83991b4fba5b98a907a1cba0fe75310c /fs/nsfs.c | |
parent | dd60687ee541ca3f6df8758f38e6f22f57c42a37 (diff) |
xfs: open code end_buffer_async_write in xfs_finish_page_writeback
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>
Diffstat (limited to 'fs/nsfs.c')
0 files changed, 0 insertions, 0 deletions