xfs: do not use unchecked extent indices in xfs_bmapi

Make sure to only call xfs_iext_get_ext after we've validate the
extent index when moving on to the next index in xfs_bmapi.

Based on an earlier patch from Lachlan McIlroy.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Lachlan McIlroy <lmcilroy@redhat.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
This commit is contained in:
Christoph Hellwig 2011-05-11 15:04:07 +00:00 коммит произвёл Alex Elder
Родитель 2f2b3220b0
Коммит 5690f92199
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -4825,12 +4825,13 @@ xfs_bmapi(
/*
* Else go on to the next record.
*/
ep = xfs_iext_get_ext(ifp, ++lastx);
prev = got;
if (lastx >= nextents)
eof = 1;
else
if (++lastx < nextents) {
ep = xfs_iext_get_ext(ifp, lastx);
xfs_bmbt_get_all(ep, &got);
} else {
eof = 1;
}
}
*nmap = n;
/*