xfs
[Top] [All Lists]

[PATCH 2/5] xfs_repair: preserve error state in process_shortform_attr

To: xfs@xxxxxxxxxxx
Subject: [PATCH 2/5] xfs_repair: preserve error state in process_shortform_attr
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Sun, 7 Sep 2014 11:41:02 -0500
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1410108065-18156-1-git-send-email-sandeen@xxxxxxxxxx>
References: <1410108065-18156-1-git-send-email-sandeen@xxxxxxxxxx>
process_shortform_attr uses the "junkit" error to
track whether an error was found, but by assigning
it directly to the result of valuecheck, previous
errors are ignored, leading to unrepairable errors
of the form i.e.

"entry has INCOMPLETE flag on in shortform attribute"
or
"entry contains illegal character in shortform attribute name"

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---
 repair/attr_repair.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/repair/attr_repair.c b/repair/attr_repair.c
index a27a3ec..d60b664 100644
--- a/repair/attr_repair.c
+++ b/repair/attr_repair.c
@@ -914,7 +914,8 @@ process_shortform_attr(
 
                /* Only check values for root security attributes */
                if (currententry->flags & XFS_ATTR_ROOT)
-                      junkit = valuecheck(mp, (char 
*)&currententry->nameval[0],
+                      junkit |= valuecheck(mp,
+                                       (char *)&currententry->nameval[0],
                                        NULL, currententry->namelen, 
                                        currententry->valuelen);
 
-- 
1.7.1

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