From: Andrew Morton <akpm@linux-foundation.org>
To: Nye Liu <nyet@nyet.org>
Cc: linux-kernel@vger.kernel.org, nyet@mrv.com
Subject: Re: [PATCH] INITRAMFS: Add option to preserve mtime from INITRAMFS cpio images
Date: Wed, 3 Sep 2008 15:48:40 -0700 [thread overview]
Message-ID: <20080903154840.69c049cf.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080903224130.GA16630@curtisfong.org>
On Wed, 3 Sep 2008 15:41:31 -0700
Nye Liu <nyet@nyet.org> wrote:
> > > collected[N_ALIGN(name_len) + body_len] = '\0';
> > > clean_path(collected, 0);
> > > sys_symlink(collected + N_ALIGN(name_len), collected);
> > > sys_lchown(collected, uid, gid);
> > > + do_lutime(collected, &mtime);
> > > state = SkipIt;
> > > next_state = Reset;
> > > return 0;
> > > @@ -466,6 +520,7 @@ static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
> > > buf += inptr;
> > > len -= inptr;
> > > }
> > > + dir_utime();
> >
> > Perhaps this is the simplest implementation - I didn't check the fine
> > details. What's your thinking here?
> >
>
> The main problem is that i need to save off the entire list for later
> processing of the directory mtimes... if i process the directory mtimes
> in the same pass as the file/link mtimes, touching the directory inode
> when creating/modifying the file/links updates the directory mtime, and
> overwrites whatever mtime i set the directory to when i created it.
>
> The only solution is to do a two pass, which is why the list is
> necessary. If there is a better way, i did not find it :(
>
> It could be that i misunderstood your question though :)
I'm wondering whether this code need to use `struct utimbuf' at all.
Or at least, as much as it does. utimbuf is more a userspace-facing
thing whereas in-kernel timespecs and timevals are more common.
The code as you have it does a fair few conversions into utimbuf format
(both directly and via the existing functions which it calls). Would
it be simpler if it dealt in terms of timespecs?
next prev parent reply other threads:[~2008-09-03 22:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-05 19:52 [PATCH] INITRAMFS: Add option to preserve mtime from INITRAMFS cpio images Nye Liu
2008-08-16 8:58 ` Andrew Morton
2008-09-03 20:29 ` Nye Liu
2008-09-03 22:22 ` Andrew Morton
2008-09-03 22:31 ` Nye Liu
2008-09-03 22:36 ` Andrew Morton
2008-09-04 7:11 ` Frans Meulenbroeks
2008-09-04 7:13 ` nyet
2008-09-04 23:08 ` Krzysztof Halasa
2008-09-03 22:41 ` Nye Liu
2008-09-03 22:48 ` Andrew Morton [this message]
2008-09-03 22:53 ` Nye Liu
2008-09-03 22:54 ` Nye Liu
2008-09-03 23:04 ` Nye Liu
2008-09-03 23:19 ` Andrew Morton
2008-09-03 23:30 ` Nye Liu
[not found] ` <20080903164144.27c94bae.akpm@linux-foundation.org>
2008-09-04 1:40 ` [PATCH] INITRAMFS: Preserve " Nye Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080903154840.69c049cf.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nyet@mrv.com \
--cc=nyet@nyet.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox