[xfstests PATCH] renameat2 syscall: turn EEXIST into ENOTEMPTY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Miklos Szeredi <mszeredi@xxxxxxx>

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@xxxxxxx>
---
 src/renameat2.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/src/renameat2.c
+++ b/src/renameat2.c
@@ -88,6 +88,15 @@ int main(int argc, char *argv[])
 			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;
 	}

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux