From: Stephen Hemminger <shemminger@linux-foundation.org>
To: Michael Clark <michael@metaparadigm.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: hi-res mtime userspace interface
Date: Sun, 20 Jan 2008 08:50:08 -0800 [thread overview]
Message-ID: <20080120085008.5c0e2b64@deepthought> (raw)
In-Reply-To: <47934820.7020209@metaparadigm.com>
On Sun, 20 Jan 2008 21:09:52 +0800
Michael Clark <michael@metaparadigm.com> wrote:
> Is there an existing linux userspace interface for accessing the
> microsecond or nanosecond level (a|m|c)times of filesystems that support
> them (e.g. ext4, xfs)? and possibly also the generation counters used by
> NFS.
>
> I notice sys_utimes is able to set microsecond (c|a|m)times but I can't
> find an associated interface to read them (I've googled to no avail).
>
> (also noticing freebsd and darwin's struct stat contains struct timespec
> for these as well as an st_gen field - although I do realise how
> incredibly difficult it would be to add these to linux's struct stat).
>
Look at stat.
In /usr/include/bits/stat.h:
struct stat
{
__dev_t st_dev; /* Device. */
...
#ifdef __USE_MISC
/* Nanosecond resolution timestamps are stored in a format
equivalent to 'struct timespec'. This is the type used
whenever possible but the Unix namespace rules do not allow the
identifier 'timespec' to appear in the <sys/stat.h> header.
Therefore we have to handle the use of this header in strictly
standard-compliant sources special. */
struct timespec st_atim; /* Time of last access. */
struct timespec st_mtim; /* Time of last modification. */
struct timespec st_ctim; /* Time of last status change. */
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
#else
__time_t st_atime; /* Time of last access. */
unsigned long int st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctimensec; /* Nsecs of last status change. */
#endif
--
Stephen Hemminger <stephen.hemminger@vyatta.com>
next prev parent reply other threads:[~2008-01-20 16:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-20 13:09 hi-res mtime userspace interface Michael Clark
2008-01-20 16:50 ` Stephen Hemminger [this message]
2008-01-20 23:43 ` Michael Clark
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=20080120085008.5c0e2b64@deepthought \
--to=shemminger@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael@metaparadigm.com \
/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.