On Tue 19-06-18 17:43:15, Arnd Bergmann wrote:
> Inode timestamps are now 64-bit wide even on 32-bit machines, and reiserfs
> interprets the 32-bit on-disk timestamps as unsigned when returning them
> to user space with statx(), so for consistency we should print them
> the same way in the emergency console logs.
> 
> Signed-off-by: Arnd Bergmann <[email protected]>
...
> diff --git a/fs/reiserfs/item_ops.c b/fs/reiserfs/item_ops.c
> index e3c558d1b78c..d0ab3a763962 100644
> --- a/fs/reiserfs/item_ops.c
> +++ b/fs/reiserfs/item_ops.c
> @@ -33,11 +33,11 @@ static int sd_is_left_mergeable(struct reiserfs_key *key, 
> unsigned long bsize)
>       return 0;
>  }
>  
> -static char *print_time(time_t t)
> +static char *print_time(time64_t t)
>  {
>       static char timebuf[256];
>  
> -     sprintf(timebuf, "%ld", t);
> +     sprintf(timebuf, "%lld", t);
>       return timebuf;
>  }

Well, seeing how print_time() is used, more appropriate prototype would be:

static char *print_time(u32 t)

and then print it as %u.

                                                                Honza
-- 
Jan Kara <[email protected]>
SUSE Labs, CR
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to