xfs: don't clobber inobt/finobt cursors when xref with rmap
Even if we can't use the inobt/finobt cursors to count the number of inode btree blocks, we are never allowed to clobber the cursor of the btree being checked, so don't do this. Found by fuzzing level = ones in xfs/364. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Родитель
70c57dcd60
Коммит
c47b74fb2d
|
@ -391,12 +391,12 @@ xfs_scrub_iallocbt_xref_rmap_btreeblks(
|
|||
|
||||
/* Check that we saw as many inobt blocks as the rmap says. */
|
||||
error = xfs_btree_count_blocks(sc->sa.ino_cur, &inobt_blocks);
|
||||
if (!xfs_scrub_should_check_xref(sc, &error, &sc->sa.ino_cur))
|
||||
if (!xfs_scrub_process_error(sc, 0, 0, &error))
|
||||
return;
|
||||
|
||||
if (sc->sa.fino_cur) {
|
||||
error = xfs_btree_count_blocks(sc->sa.fino_cur, &finobt_blocks);
|
||||
if (!xfs_scrub_should_check_xref(sc, &error, &sc->sa.fino_cur))
|
||||
if (!xfs_scrub_process_error(sc, 0, 0, &error))
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче