On 2023-06-04 13:18:35+0200, Willy Tarreau wrote:
On Sat, Jun 03, 2023 at 04:02:04PM +0800, Zhangjin Wu wrote:
Commit a89c937d781a ("tools/nolibc: support nanoseconds in stat()") added nanoseconds for stat() but missed the statx case, this adds it.
The stx_atime, stx_mtime, stx_ctime are in type of 'struct statx_timestamp', which is incompatible with 'struct timespec', should convert explicitly.
/* include/uapi/linux/stat.h */ struct statx_timestamp { __s64 tv_sec; __u32 tv_nsec; __s32 __reserved; }; /* include/uapi/linux/time.h */ struct timespec { __kernel_old_time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };
Without this patch, the stat_timestamps test case would fail when __NR_statx defined.
Fixes: a89c937d781a ("tools/nolibc: support nanoseconds in stat()") Suggested-by: Thomas Weißschuh linux@weissschuh.net Link: https://lore.kernel.org/linux-riscv/3a3edd48-1ace-4c89-89e8-9c594dd1b3c9@t-8... Signed-off-by: Zhangjin Wu falcon@tinylab.org
Thank you. I've queued it immediately after Thomas' patch. I'll let the two of you tell me if it's better to squash them together to avoid breaking bisect and mark you co-authors.
Squashing them sounds like the correct solution to me.
Thomas