]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: bulkstat btree walk doesn't terminate
authorDave Chinner <dchinner@redhat.com>
Thu, 6 Nov 2014 21:29:57 +0000 (08:29 +1100)
committerDave Chinner <david@fromorbit.com>
Thu, 6 Nov 2014 21:29:57 +0000 (08:29 +1100)
commitebb820003ca1c68a92292ecb8e624130c8f1e2ec
treebd4e27a0faac80e48da23c1bbc19a9622ffe35ed
parentd80f47f39a2be4c4c3e082a12351fccc0118f14e
xfs: bulkstat btree walk doesn't terminate

The bulkstat code has several different ways of detecting the end of
an AG when doing a walk. They are not consistently detected, and the
code that checks for the end of AG conditions is not consistently
coded. Hence the are conditions where the walk code can get stuck in
an endless loop making no progress and not triggering any
termination conditions.

Convert all the "tmp/i" status return codes from btree operations
to a common name (stat) and apply end-of-ag detection to these
operations consistently.

cc: <stable@vger.kernel.org> # 3.17
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_itable.c