Introduction
The series is one of the proposals on how to transition VFS timestamps to use 64 bit time. This idea was proposed by Arnd Bergmann and David Chinner on the RFC: https://lkml.org/lkml/2016/1/7/20 [1].
Solution
1.Define accessor functions for inode timestamps. 2.Change all individual filesystems to use these accessors. 3.Change vfs timestamps to use timespec64. 4.Individual filesystem developers can change their filesystems to use timespec64 at their own convenience.
Note that the series only includes patches for steps 1 and 2.
Variant
We could use timespec64 in the end filesystems instead of timespec.
Concerns
1. Before the vfs layer is done, it might be confusing to confusing to developers as individual filesystems now will have two options for access: directly and accessor.
2. After the vfs layer is done, it might be confusing to developers as individual filesystems now will have two options for accessors: timespec64_to_timespec and vfs_time_to_timespec.
Deepa Dinamani (5): vfs: Add vfs_time accessors fs: cifs: Use vfs_time accessors fs: btrfs: Use vfs_time accessors fs: ceph: Use vfs timestamp accessors fs: xfs: change inode times to use vfs_time data type
fs/btrfs/file.c | 14 +++++---- fs/btrfs/inode.c | 4 +-- fs/ceph/addr.c | 20 +++++++++---- fs/ceph/cache.c | 4 +-- fs/ceph/caps.c | 4 +-- fs/ceph/file.c | 4 ++- fs/ceph/inode.c | 75 ++++++++++++++++++++++++++++-------------------- fs/ceph/mds_client.c | 5 +++- fs/ceph/snap.c | 6 ++-- fs/cifs/cache.c | 12 +++++--- fs/cifs/inode.c | 31 +++++++++++--------- fs/xfs/xfs_inode.c | 2 +- fs/xfs/xfs_trans_inode.c | 24 +++++++++------- include/linux/fs.h | 15 ++++++++++ 14 files changed, 139 insertions(+), 81 deletions(-)