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

Eric Sandeen
2014-09-07T16:41:08Z

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@redhat.com>
---
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