Commit 235e5793 authored by Christoph Hellwig's avatar Christoph Hellwig

init: add an init_utimes helper

Add a simple helper to set timestamps with a kernel space file name and
switch the early init code over to it.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 716308a5
...@@ -238,3 +238,16 @@ int __init init_rmdir(const char *pathname) ...@@ -238,3 +238,16 @@ int __init init_rmdir(const char *pathname)
{ {
return do_rmdir(AT_FDCWD, getname_kernel(pathname)); return do_rmdir(AT_FDCWD, getname_kernel(pathname));
} }
int __init init_utimes(char *filename, struct timespec64 *ts)
{
struct path path;
int error;
error = kern_path(filename, 0, &path);
if (error)
return error;
error = vfs_utimes(&path, ts);
path_put(&path);
return error;
}
...@@ -15,3 +15,4 @@ int __init init_symlink(const char *oldname, const char *newname); ...@@ -15,3 +15,4 @@ int __init init_symlink(const char *oldname, const char *newname);
int __init init_unlink(const char *pathname); int __init init_unlink(const char *pathname);
int __init init_mkdir(const char *pathname, umode_t mode); int __init init_mkdir(const char *pathname, umode_t mode);
int __init init_rmdir(const char *pathname); int __init init_rmdir(const char *pathname);
int __init init_utimes(char *filename, struct timespec64 *ts);
...@@ -111,8 +111,7 @@ static long __init do_utime(char *filename, time64_t mtime) ...@@ -111,8 +111,7 @@ static long __init do_utime(char *filename, time64_t mtime)
t[0].tv_nsec = 0; t[0].tv_nsec = 0;
t[1].tv_sec = mtime; t[1].tv_sec = mtime;
t[1].tv_nsec = 0; t[1].tv_nsec = 0;
return init_utimes(filename, t);
return do_utimes(AT_FDCWD, filename, t, AT_SYMLINK_NOFOLLOW);
} }
static __initdata LIST_HEAD(dir_list); static __initdata LIST_HEAD(dir_list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment