Message ID | 20180620075041.4154396-1-arnd@arndb.de |
---|---|
State | Accepted |
Commit | 21a1a52dbdd5c9dc17c546bbdb95038f53515d2c |
Headers | show |
Series | nilfs2: use 64-bit superblock timstamps | expand |
On 2018/06/20 16:50, Arnd Bergmann wrote: > The mount time field in the superblock uses a 64-bit timestamp, but > calling get_seconds() may truncate the current time to 32 bits. > > This changes it to ktime_get_real_seconds() to avoid the potential > overflow. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Looks good to me. Thanks, all. Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> > --- > fs/nilfs2/super.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c > index 6ffeca84d7c3..1b9067cf4511 100644 > --- a/fs/nilfs2/super.c > +++ b/fs/nilfs2/super.c > @@ -834,7 +834,7 @@ static int nilfs_setup_super(struct super_block *sb, int is_mount) > sbp[0]->s_max_mnt_count = cpu_to_le16(NILFS_DFL_MAX_MNT_COUNT); > > sbp[0]->s_mnt_count = cpu_to_le16(mnt_count + 1); > - sbp[0]->s_mtime = cpu_to_le64(get_seconds()); > + sbp[0]->s_mtime = cpu_to_le64(ktime_get_real_seconds()); > > skip_mount_setup: > sbp[0]->s_state = >
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 6ffeca84d7c3..1b9067cf4511 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c @@ -834,7 +834,7 @@ static int nilfs_setup_super(struct super_block *sb, int is_mount) sbp[0]->s_max_mnt_count = cpu_to_le16(NILFS_DFL_MAX_MNT_COUNT); sbp[0]->s_mnt_count = cpu_to_le16(mnt_count + 1); - sbp[0]->s_mtime = cpu_to_le64(get_seconds()); + sbp[0]->s_mtime = cpu_to_le64(ktime_get_real_seconds()); skip_mount_setup: sbp[0]->s_state =
The mount time field in the superblock uses a 64-bit timestamp, but calling get_seconds() may truncate the current time to 32 bits. This changes it to ktime_get_real_seconds() to avoid the potential overflow. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- fs/nilfs2/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.9.0