• Arnd Bergmann's avatar
    ata: fix "ering" sysfs time printing · f3f99d37
    Arnd Bergmann authored
    The sysfs file for the libata error handling has multiple issues
    in the way it prints time stamps:
    
     * it prints a 9-digit nanosecond value using a %06lu format string,
       which drops some leading zeroes
     * it converts a 64-bit jiffes value to a timespec using
       jiffies_to_timespec(), which takes a 'long' argument, so the
       result is wrong after a jiffies overflow (49 days).
     * we try to avoid using timespec because that generally overflows
       in 2038, although this particular usage is ok.
    
    This replaces the jiffies_to_timespec call with an open-coded
    implementation that gets it right.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    f3f99d37
libata-transport.c 20.2 KB