[Y2038] [RFC 15/15] fs: Drop CONFIG_FS_USES_64BIT_TIME

2016-01-06 Thread Deepa Dinamani
All file system code is using 64 bit time already and this config is no longer required. Signed-off-by: Deepa Dinamani --- fs/Kconfig | 10 -- 1 file changed, 10 deletions(-) diff --git a/fs/Kconfig b/fs/Kconfig index bfeefce..922893f 100644 --- a/fs/Kconfig +++

[Y2038] [RFC 11/15] fs: ext4: replace inode_timespec with timespec64

2016-01-06 Thread Deepa Dinamani
Substitute inode_timespec aliases with timespec64. Since CONFIG_FS_USES_64BIT_TIME is enabled, internally all inode_timespec references are using timespec64 already. Signed-off-by: Deepa Dinamani --- fs/ext4/ext4.h| 14 +++--- fs/ext4/extents.c | 6 +++---

[Y2038] [RFC 05/15] fs: cifs: Add support for cifs to use 64 bit time

2016-01-06 Thread Deepa Dinamani
Change all struct timespec references to struct inode_timespec. Use inode timestamp accessors to access inode time fields. This will help the switch to struct timespec64 when CONFIG_FS_USES_64BIT_TIME is enabled. Use current_fs_time() instead of CURRENT_TIME macros to help range and precision

[Y2038] [RFC 04/15] vfs: Add support for vfs code to use 64 bit time

2016-01-06 Thread Deepa Dinamani
VFS currently uses struct timespec timestamps which are not y2038 safe. Change all the struct inode timestamps accesses through accessor macros only. This will help the switch over to 64 bit times seamlessly. Use struct inode_timespec aliases everywhere. This will change timestamp data types to

[Y2038] [RFC 03/15] kernel: time: Add macros and functions to support 64 bit time

2016-01-06 Thread Deepa Dinamani
The current_fs_time function is not y2038 safe because of the use of struct timespec. The macros CURRENT_TIME and CURRENT_TIME_SEC do not represent file system times correctly as they cannnot perform range checks or truncations. These are also not y2038 safe. Add 64 bit versions of the above

[Y2038] [RFC 06/15] fs: fat: convert fat to 64 bit time

2016-01-06 Thread Deepa Dinamani
FAT filesystem supports timestamps until the year 2099 even though the theoretical max is 2107. But, the struct timespec overflows in the year 2038 on 32 bit systems. Use inode_timespec throughout the file system code so that the timestamps can switch to y2038 safe struct timespec64 when

[Y2038] [RFC 07/15] fs: ext4: convert to use 64 bit time

2016-01-06 Thread Deepa Dinamani
struct timespec is not y2038 safe. The ext4 uses time_extra fields to extend {a,c,m,cr} times until 2446. Use struct inode_timespec to replace timespec. inode_timespec will eventually be replaced by struct timespec64 when CONFIG_FS_USES_64BIT_TIME is enabled. Signed-off-by: Deepa Dinamani

[Y2038] [RFC 14/15] vfs: Remove inode_timespec aliases

2016-01-06 Thread Deepa Dinamani
Now that CONFIG_FS_USES_64BIT_TIME is enabled, the aliases for inode_timespec are no longer used and can be removed. Signed-off-by: Deepa Dinamani --- include/linux/time64.h | 21 - 1 file changed, 21 deletions(-) diff --git a/include/linux/time64.h

[Y2038] [RFC 09/15] fs: cifs: replace inode_timespec with timespec64

2016-01-06 Thread Deepa Dinamani
Substitute inode_timespec aliases with timespec64. Since CONFIG_FS_USES_64BIT_TIME is enabled, internally all inode_timespec references are using timespec64 already. Signed-off-by: Deepa Dinamani --- fs/cifs/cache.c | 4 ++-- fs/cifs/cifsglob.h | 6 +++---