mirror of https://gitee.com/openkylin/linux.git
xfs: don't clear imap_valid for a non-uptodate buffers
Finding a buffer that isn't uptodate doesn't invalidate the mapping for any given block. The last_sector check will already take care of starting another ioend as soon as we find any non-update buffer, and if the current mapping doesn't include the next uptodate buffer the xfs_imap_valid check will take care of it. 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>
This commit is contained in:
parent
91cdfd1761
commit
c57371a16d
|
@ -863,10 +863,8 @@ xfs_writepage_map(
|
|||
* meaningless for holes (!mapped && uptodate), so skip
|
||||
* buffers covering holes here.
|
||||
*/
|
||||
if (!buffer_mapped(bh) && buffer_uptodate(bh)) {
|
||||
wpc->imap_valid = false;
|
||||
if (!buffer_mapped(bh) && buffer_uptodate(bh))
|
||||
continue;
|
||||
}
|
||||
|
||||
if (buffer_unwritten(bh))
|
||||
new_type = XFS_IO_UNWRITTEN;
|
||||
|
@ -879,11 +877,8 @@ xfs_writepage_map(
|
|||
ASSERT(buffer_mapped(bh));
|
||||
/*
|
||||
* This buffer is not uptodate and will not be
|
||||
* written to disk. Ensure that we will put any
|
||||
* subsequent writeable buffers into a new
|
||||
* ioend.
|
||||
* written to disk.
|
||||
*/
|
||||
wpc->imap_valid = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue