The series is aimed at adding timestamp checking and policy related to it to vfs.
The series was developed with discussions and guidance from Arnd Bergmann.
The original thread is at https://lkml.org/lkml/2016/11/2/294
Associated test: xfstests generic/402 Note that the above test will be run and will fail all filesystems that do not have correct limits specified in the xfstests or the kernel or that don't support times beyond the test dates. I will be submitting a follow up xfstest and kernel patches to update all filesystems. Currently ext4 is the only filesystem that reflects correct limits.
The branch is available at https://github.com/deepa-hub/vfs.git refs/heads/vfs_timestamp_policy
Changes since v3: * Remove redundant initializations in libfs.c * Change early_param to __setup similar to other root mount options. * Fix documentation warning Changes since v2: * Introduce early boot param override for checks. * Drop afs patch for timestamp limits. Changes since v1: * return EROFS on mount errors * fix mtime copy/paste error in utimes
Deepa Dinamani (5): vfs: Add file timestamp range support vfs: Add checks for filesystem timestamp limits ext4: Initialize timestamps limits vfs: Add timestamp_truncate() api utimes: Clamp the timestamps before update
fs/ext4/ext4.h | 4 ++++ fs/ext4/super.c | 7 ++++++- fs/inode.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- fs/internal.h | 2 ++ fs/namespace.c | 12 ++++++++++++ fs/super.c | 9 +++++++++ fs/utimes.c | 17 +++++++++++++---- include/linux/fs.h | 4 ++++ include/linux/time64.h | 6 ++++++ include/uapi/linux/fs.h | 6 +++++- kernel/sysctl.c | 7 +++++++ 11 files changed, 114 insertions(+), 7 deletions(-)