From: Jamie Lokier <lk@tantalophile.demon.co.uk>
To: Andi Kleen <ak@suse.de>
Cc: eggert@twinsun.com, linux-kernel@vger.kernel.org
Subject: Re: nanosecond file timestamp resolution in filesystems, GNU make, etc.
Date: Mon, 28 Oct 2002 15:17:47 +0000 [thread overview]
Message-ID: <20021028151747.GC16546@bjl1.asuk.net> (raw)
In-Reply-To: <20021028151533.D18441@wotan.suse.de>
Andi Kleen wrote:
> > So I propose: add a field to struct stat indicating the resolution of
> > the timestamps in it. It can go on the end.
> It's impossible. There is no space left in struct stat64
> And adding a new syscall just for that would be severe overkill.
There's the 4 bytes following dev_t in Glibc's definition (call __pad1
in Glibc) which isn't used by Glibc or anything else. That's still
free even when the kernel changes to 64-bit dev_t.
And if you don't like that to do that, i.e you want to guarantee that
the unused word continues to be zero for older programs (though I
can't think of any reason why it would matter), that's what the
(currently unused) flags argument to stat64() is for.
> But what you could do if you really wanted that: implement kernel
> POSIX pathconf()/fpathconf() and implement it as a parameter to
> that.
Ugh.
> I personally have no plans to implement it [pathconf], however,
> because it looks like kernel bloat to me :-)
Given the choice of using fpathconf, I'd rather accept that the
nanoseconds field is not reliable, hence I must ignore it. It does
seem a waste though - sometimes you are returning good information I
can use, other times you're not, and I can't tell the difference :-(
I'd much rather do this right. What do you think of storing the
resolution in the unused word called __pad1 in Glibc?
(Btw, it wouldn't bloat the in-core kernel inode, because only a
couple of flag bits are needed there to distinguish known resolution
values).
-- Jamie
next prev parent reply other threads:[~2002-10-28 15:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20021027153651.GB26297@pimlott.net.suse.lists.linux.kernel>
[not found] ` <200210280947.g9S9l9H01162@sic.twinsun.com.suse.lists.linux.kernel>
2002-10-28 11:05 ` Andi Kleen
[not found] ` <20021028102809.GA16062@bjl1.asuk.net.suse.lists.linux.kernel>
2002-10-28 11:08 ` Andi Kleen
2002-10-28 12:56 ` Jamie Lokier
2002-10-28 14:15 ` Andi Kleen
2002-10-28 14:28 ` Maciej W. Rozycki
2002-10-28 15:13 ` Jamie Lokier
2002-10-28 15:40 ` Maciej W. Rozycki
2002-10-28 15:59 ` Jamie Lokier
2002-10-28 15:17 ` Jamie Lokier [this message]
[not found] <20021027153651.GB26297@pimlott.net>
2002-10-28 9:47 ` Paul Eggert
2002-10-28 10:28 ` Jamie Lokier
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=20021028151747.GC16546@bjl1.asuk.net \
--to=lk@tantalophile.demon.co.uk \
--cc=ak@suse.de \
--cc=eggert@twinsun.com \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®