public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Don't test nanoseconds for non-LFS interface in io/tst-stat.c
@ 2021-03-16 13:56 Stefan Liebler
  2021-03-16 14:24 ` Adhemerval Zanella
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Liebler @ 2021-03-16 13:56 UTC (permalink / raw)
  To: libc-alpha; +Cc: adhemerval.zanella, Stefan Liebler

Both new tests io/tst-stat and io/tst-stat-lfs (_FILE_OFFSET_BITS=64)
are comparing the nanosecond fields with the statx result.  Unfortunately
e.g. on s390(31bit) those fields are always zero if old KABI with non-LFS
support is used.  With _FILE_OFFSET_BITS=64 stat is using statx internally.

As suggested by Adhemerval this patch disables the nanosecond check for
non-LFS interface.
---
 io/tst-stat.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/io/tst-stat.c b/io/tst-stat.c
index 445ac4176c..550128a2a5 100644
--- a/io/tst-stat.c
+++ b/io/tst-stat.c
@@ -26,6 +26,20 @@
 #include <sys/stat.h>
 #include <sys/sysmacros.h>
 #include <unistd.h>
+#include <kernel_stat.h>
+
+#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
+/* Test nanoseconds if LFS interface is requested.  */
+# define TEST_NANOSECONDS 1
+#elif !XSTAT_IS_XSTAT64
+/* LFS interface is not requested and we have no LFS support.  E.g. s390(31bit)
+   is using old KABI with old non-LFS support and the nanoseconds fields are
+   always zero.  */
+# define TEST_NANOSECONDS 0
+#else
+/* LFS interface is not requested, but we have LFS support.  */
+# define TEST_NANOSECONDS 1
+#endif
 
 static void
 stat_check (int fd, const char *path, struct stat *st)
@@ -91,9 +105,11 @@ do_test (void)
       TEST_COMPARE (stx.stx_blocks, st.st_blocks);
 
       TEST_COMPARE (stx.stx_ctime.tv_sec, st.st_ctim.tv_sec);
-      TEST_COMPARE (stx.stx_ctime.tv_nsec, st.st_ctim.tv_nsec);
       TEST_COMPARE (stx.stx_mtime.tv_sec, st.st_mtim.tv_sec);
+#if TEST_NANOSECONDS
+      TEST_COMPARE (stx.stx_ctime.tv_nsec, st.st_ctim.tv_nsec);
       TEST_COMPARE (stx.stx_mtime.tv_nsec, st.st_mtim.tv_nsec);
+#endif
     }
 
   return 0;
-- 
2.28.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-03-17 13:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-16 13:56 [PATCH] Don't test nanoseconds for non-LFS interface in io/tst-stat.c Stefan Liebler
2021-03-16 14:24 ` Adhemerval Zanella
2021-03-16 16:30   ` Stefan Liebler
2021-03-16 19:59     ` Adhemerval Zanella
2021-03-17 13:04       ` Stefan Liebler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).