From 50aeb09de6b7263912f68e061e8fdbe417592e3d Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Tue, 16 Sep 2014 09:23:40 +1000 Subject: [PATCH] xfs_repair: preserve error state in process_shortform_attr 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 Reviewed-by: Brian Foster Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- repair/attr_repair.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/repair/attr_repair.c b/repair/attr_repair.c index a27a3ecd0..d60b66478 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 *)¤tentry->nameval[0], + junkit |= valuecheck(mp, + (char *)¤tentry->nameval[0], NULL, currententry->namelen, currententry->valuelen); -- 2.47.2