Subject: Re: bug#50791: Recursive chmod exit status in coreutils-9.0

From: Chris Webb <[email-masked]>
Date: Sat, 25 Sep 2021 07:07:56 +0100

> Thanks for the analysis and patch.
> I've already pushed a very similar patch at:
> https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=e8b56ebd5

Many thanks!

With the above fix, do we also need something like

@@ -300,7 +300,7 @@ process_file (FTS *fts, FTSENT *ent)
         describe_change (file_full_name, &ch);
     }
 
-  if (CH_NO_CHANGE_REQUESTED <= ch.status && diagnose_surprises)
+  if (CH_NOT_APPLIED <= ch.status && diagnose_surprises)
     {
       mode_t naively_expected_mode =
         mode_adjust (ch.old_mode, S_ISDIR (ch.old_mode) != 0, 0, change, NULL);

in the diagnose_surprises stanza, to avoid checking every symlink we skip for
unexpected permissions? 

Best wishes,
Chris.