diff mbox series

jfs: use time64_t for otime

Message ID 20180619155110.3950450-1-arnd@arndb.de
State Accepted
Commit bd646104ac5a6bf8bdddaeaf4e441f5d439ded96
Headers show
Series jfs: use time64_t for otime | expand

Commit Message

Arnd Bergmann June 19, 2018, 3:51 p.m. UTC
The file creation time in the inode uses time_t which is defined differently
on 32-bit and 64-bit architectures and deprecated. The representation in
the inode uses an unsigned 32-bit number, but this gets wrapped around
after year 2038 when assigned to a time_t.

This changes the type to time64_t, so we can support the full range of
timestamps between 1970 and 2106 on 32-bit systems like we do on 64-bit
systems already, and matching what we do for the atime/ctime/mtime stamps
since the introduction of 64-bit timestamps in VFS.

Note: the otime stamp is not actually used anywhere at the moment in
the kernel, it is just set when writing a file, so none of this really
makes a difference unless we implement setting the btime field in the
getattr() callback.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 fs/jfs/jfs_incore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.9.0

Comments

Dave Kleikamp June 19, 2018, 7:06 p.m. UTC | #1
On 06/19/2018 10:51 AM, Arnd Bergmann wrote:
> The file creation time in the inode uses time_t which is defined differently

> on 32-bit and 64-bit architectures and deprecated. The representation in

> the inode uses an unsigned 32-bit number, but this gets wrapped around

> after year 2038 when assigned to a time_t.

> 

> This changes the type to time64_t, so we can support the full range of

> timestamps between 1970 and 2106 on 32-bit systems like we do on 64-bit

> systems already, and matching what we do for the atime/ctime/mtime stamps

> since the introduction of 64-bit timestamps in VFS.

> 

> Note: the otime stamp is not actually used anywhere at the moment in

> the kernel, it is just set when writing a file, so none of this really

> makes a difference unless we implement setting the btime field in the

> getattr() callback.


This looks good to me. I'll push it to linux-next and target the next
merge window.

Thanks,
Shaggy

> 

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

>  fs/jfs/jfs_incore.h | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h

> index 1f26d1910409..d5c46f86b2ef 100644

> --- a/fs/jfs/jfs_incore.h

> +++ b/fs/jfs/jfs_incore.h

> @@ -43,7 +43,7 @@ struct jfs_inode_info {

>  	pxd_t	ixpxd;		/* inode extent descriptor	*/

>  	dxd_t	acl;		/* dxd describing acl	*/

>  	dxd_t	ea;		/* dxd describing ea	*/

> -	time_t	otime;		/* time created	*/

> +	time64_t otime;		/* time created	*/

>  	uint	next_index;	/* next available directory entry index */

>  	int	acltype;	/* Type of ACL	*/

>  	short	btorder;	/* access order	*/

>
diff mbox series

Patch

diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h
index 1f26d1910409..d5c46f86b2ef 100644
--- a/fs/jfs/jfs_incore.h
+++ b/fs/jfs/jfs_incore.h
@@ -43,7 +43,7 @@  struct jfs_inode_info {
 	pxd_t	ixpxd;		/* inode extent descriptor	*/
 	dxd_t	acl;		/* dxd describing acl	*/
 	dxd_t	ea;		/* dxd describing ea	*/
-	time_t	otime;		/* time created	*/
+	time64_t otime;		/* time created	*/
 	uint	next_index;	/* next available directory entry index */
 	int	acltype;	/* Type of ACL	*/
 	short	btorder;	/* access order	*/