fs: kernfs: Replace CURRENT_TIME by current_fs_time()
This is in preparation for the series that transitions filesystem timestamps to use 64 bit time and hence make them y2038 safe. CURRENT_TIME macro will be deleted before merging the aforementioned series. Use current_fs_time() instead of CURRENT_TIME for inode timestamps. struct kernfs_node is associated with a sysfs file/ directory. Truncate the values to appropriate time granularity when writing to inode timestamps of the files. ktime_get_real_ts() is used to obtain times for struct kernfs_iattrs. Since these times are later assigned to inode times using timespec_truncate() for all filesystem based operations, we can save the supers list traversal time here by using ktime_get_real_ts() directly. Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1b48b530da
commit
3a3a5fece6
@@ -753,7 +753,8 @@ int kernfs_add_one(struct kernfs_node *kn)
|
||||
ps_iattr = parent->iattr;
|
||||
if (ps_iattr) {
|
||||
struct iattr *ps_iattrs = &ps_iattr->ia_iattr;
|
||||
ps_iattrs->ia_ctime = ps_iattrs->ia_mtime = CURRENT_TIME;
|
||||
ktime_get_real_ts(&ps_iattrs->ia_ctime);
|
||||
ps_iattrs->ia_mtime = ps_iattrs->ia_ctime;
|
||||
}
|
||||
|
||||
mutex_unlock(&kernfs_mutex);
|
||||
@@ -1279,8 +1280,9 @@ static void __kernfs_remove(struct kernfs_node *kn)
|
||||
|
||||
/* update timestamps on the parent */
|
||||
if (ps_iattr) {
|
||||
ps_iattr->ia_iattr.ia_ctime = CURRENT_TIME;
|
||||
ps_iattr->ia_iattr.ia_mtime = CURRENT_TIME;
|
||||
ktime_get_real_ts(&ps_iattr->ia_iattr.ia_ctime);
|
||||
ps_iattr->ia_iattr.ia_mtime =
|
||||
ps_iattr->ia_iattr.ia_ctime;
|
||||
}
|
||||
|
||||
kernfs_put(pos);
|
||||
|
||||
Reference in New Issue
Block a user