OSDN Git Service

exfat: properly set s_time_gran
authorEric Sandeen <sandeen@sandeen.net>
Fri, 17 Apr 2020 05:43:49 +0000 (14:43 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Wed, 22 Apr 2020 11:14:06 +0000 (20:14 +0900)
The s_time_gran superblock field indicates the on-disk nanosecond
granularity of timestamps, and for exfat that seems to be 10ms, so
set s_time_gran to 10000000ns. Without this, in-memory timestamps
change when they get re-read from disk.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
fs/exfat/super.c

index cb5eac3..ee42ecf 100644 (file)
@@ -529,7 +529,7 @@ static int exfat_fill_super(struct super_block *sb, struct fs_context *fc)
        sb->s_magic = EXFAT_SUPER_MAGIC;
        sb->s_op = &exfat_sops;
 
-       sb->s_time_gran = 1;
+       sb->s_time_gran = 10 * NSEC_PER_MSEC;
        sb->s_time_min = EXFAT_MIN_TIMESTAMP_SECS;
        sb->s_time_max = EXFAT_MAX_TIMESTAMP_SECS;