Commit 38b08223 authored by Christoph Hellwig's avatar Christoph Hellwig

initramfs: use vfs_utimes in do_copy

Don't bother saving away the pathname and just use the new struct path
based utimes helper instead.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent fd5ad30c
......@@ -202,7 +202,6 @@ static inline void __init eat(unsigned n)
byte_count -= n;
}
static __initdata char *vcollected;
static __initdata char *collected;
static long remains __initdata;
static __initdata char *collect;
......@@ -345,7 +344,6 @@ static int __init do_name(void)
vfs_fchmod(wfile, mode);
if (body_len)
vfs_truncate(&wfile->f_path, body_len);
vcollected = kstrdup(collected, GFP_KERNEL);
state = CopyFile;
}
} else if (S_ISDIR(mode)) {
......@@ -368,11 +366,15 @@ static int __init do_name(void)
static int __init do_copy(void)
{
if (byte_count >= body_len) {
struct timespec64 t[2] = { };
if (xwrite(wfile, victim, body_len, &wfile_pos) != body_len)
error("write error");
t[0].tv_sec = mtime;
t[1].tv_sec = mtime;
vfs_utimes(&wfile->f_path, t);
fput(wfile);
do_utime(vcollected, mtime);
kfree(vcollected);
eat(body_len);
state = SkipIt;
return 0;
......
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