| 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> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 4/8] xfs_repair: Fix free of uninit ptr in xfs_acl_valid() error path, Eric Sandeen |
|---|---|
| Next by Date: | Organize seu Depto FINANCEIRO!, ELOCURSOS |
| Previous by Thread: | [PATCH 4/8] xfs_repair: Fix free of uninit ptr in xfs_acl_valid() error path, Eric Sandeen |
| Next by Thread: | Organize seu Depto FINANCEIRO!, ELOCURSOS |
| Indexes: | [Date] [Thread] [Top] [All Lists] |