XFS is returning EEXIST rather than ENOTEMPTY for several of
these rename tests. The rename man page says this about the errors:
       ENOTEMPTY or EEXIST
              newpath is a nonempty directory, that is, contains
              entries other than "." and "..".
Which implies that both errors are valid and so the test should pass
in either case.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
                        else
                                return 0;
                }
+               /*
+                * Turn EEXIST into ENOTEMPTY.  E.g. XFS uses EEXIST, and that
+                * is also accepted by the standards.
+                *
+                * This applies only to plain rename (flags == 0).
+                */
+               if (!flags && errno == EEXIST)
+                       errno = ENOTEMPTY;
+
                perror("");
                return 1;
        }