xfs
[Top] [All Lists]

[PATCH 7/8] xfs_fsr: fix attribute no_change_count logic

To: xfs@xxxxxxxxxxx
Subject: [PATCH 7/8] xfs_fsr: fix attribute no_change_count logic
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Sat, 26 Jan 2013 16:40:31 -0600
Cc: Eric Sandeen <sandeen@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1359240032-11576-1-git-send-email-sandeen@xxxxxxxxxx>
References: <1359240032-11576-1-git-send-email-sandeen@xxxxxxxxxx>
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 <sandeen@xxxxxxxxxx>
---
 fsr/xfs_fsr.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
index b5aa3db..5eaabb5 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 */
-- 
1.7.1

<Prev in Thread] Current Thread [Next in Thread>