From: Jamie Lokier <jamie@shareable.org>
To: Oleg Drokin <green@linuxhacker.ru>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: Attempt at "stat light" implementation
Date: Tue, 7 Apr 2009 18:32:48 +0100 [thread overview]
Message-ID: <20090407173248.GC31824@shareable.org> (raw)
In-Reply-To: <20090407062356.GA1336463@fiona.linuxhacker.ru>
Oleg Drokin wrote:
> I have separated stat fields into arbitrary categories based on my idea of how this needs to be done,
> that could of course be refined in other ways if desired.
Type should get its own category - which is finer grained than mode.
Type (dir, file, link, etc.) is sometimes a lot cheaper than the other
attributes to get, because on some filesystems you don't need to read
the inode to get the type. See readdir() and d_type.
atime should get its own category, because on at least one filesystem
- Tux3 - atime is kept in a separate part of the storage. Not reading
the atime if you don't care about it would be good. Most programs
don't look at atime.
Separate categories for mtime and ctime make sense, although I don't
know of an implementation where it would make a performance difference
at present.
Once you have fine-grained selection of stat fields - it's natural to
ask why not allow _additional_ stat fields in an future-extensible
fashion? A few things would be handy sometimes, such as inode
generation number, modification generation number (to detect changes
across reboots), and extra flags indicating COW or other properties.
If an "extensible" attribute is not asked for, the kernel must not
fill in that field of the structure as the app may be not have
allocated space for it. Or it must use a tag-length-value sort of
structure for the result, similar to network CMSGs.
-- Jamie
next prev parent reply other threads:[~2009-04-07 17:32 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-07 6:23 Attempt at "stat light" implementation Oleg Drokin
2009-04-07 10:23 ` Andreas Dilger
2009-04-07 14:54 ` Oleg Drokin
2009-04-07 17:52 ` Christoph Hellwig
2009-04-07 15:22 ` jim owens
2009-04-07 15:38 ` Oleg Drokin
2009-04-07 16:20 ` jim owens
2009-04-07 17:32 ` Jamie Lokier [this message]
2009-04-07 17:38 ` Jeff Garzik
2009-04-07 17:56 ` Jamie Lokier
2009-04-07 18:21 ` Andreas Dilger
2009-04-07 19:30 ` Ulrich Drepper
2009-04-12 20:55 ` Jamie Lokier
2009-04-07 17:41 ` Oleg Drokin
2009-04-07 17:54 ` Jamie Lokier
2009-04-07 18:00 ` Oleg Drokin
2009-04-07 18:18 ` Andreas Dilger
2009-04-07 18:31 ` Nicholas Miell
2009-04-07 17:49 ` Christoph Hellwig
2009-04-07 17:56 ` Oleg Drokin
2009-04-07 18:28 ` Andreas Dilger
2009-04-07 18:50 ` Jamie Lokier
2009-04-07 19:48 ` Jeff Garzik
2009-04-07 19:47 ` Jeff Garzik
2009-04-07 20:18 ` Evgeniy Polyakov
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=20090407173248.GC31824@shareable.org \
--to=jamie@shareable.org \
--cc=green@linuxhacker.ru \
--cc=linux-fsdevel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.