From: Eric Sandeen Date: Sat, 26 Jan 2013 22:40:31 +0000 (+0000) Subject: xfs_fsr: fix attribute no_change_count logic X-Git-Tag: v3.1.11~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff85ea3f1456f20ba21a67c652f245da6360db15;p=thirdparty%2Fxfsprogs-dev.git xfs_fsr: fix attribute no_change_count logic As it stands today, if no_change_count++ isn't > 10, we will reset it to 0. There's no way to get above 1 (let alone 10) so this isn't working as intended. If we see progress (last_forkoff != tbstat.bs_forkoff) *then* we sould reset the no_change_count counter to 0. Signed-off-by: Eric Sandeen Reviewed-by: Mark Tinguely Signed-off-by: Mark Tinguely --- diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index b5aa3db76..5eaabb529 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c @@ -1099,8 +1099,8 @@ fsr_setup_attr_fork( if (last_forkoff == tbstat.bs_forkoff) { if (no_change_cnt++ > 10) break; - } - no_change_cnt = 0; + } else /* progress! */ + no_change_cnt = 0; last_forkoff = tbstat.bs_forkoff; /* work out which way to grow the fork */