[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Support for st_birthtime

From: James Youngman
Subject: Support for st_birthtime
Date: Sat, 24 Mar 2007 21:39:04 +0000


I have recently been working on support for st_birthtime.  This is a
UFS2 feature present in several versions of BSD.

The only system I have available for testing is NetBSD, and
unfortunately the implementation there seems to be buggy.  Filesystems
which lack suport for st_birthtime are supposed, as I understand
things, to set st_birthtime to zero.  While this does happen for FFS,
it does not happen for NFS or for msdos (I haven't tried anything
else).  My plan is to treat these cases as if no st_birthtime were
available, but this may not be fully reliable.

More importantly though, is what findutils should do when the birth
time is not available. In some cases (like -newerbt) it's fairly
obvious that the relevant test should just fail.  In others (like
-newermb) find should just fail to run.  The situation though with
-printf is less simple.

At the moment the development code (which I have not yet checked in)
does the following:

%Bx is handled like %Cx, using st_birthtime instead of st_ctime, with
the following change:

*%B@ always produces an output.
* If the tv_nsec portion of the timestamp is negative, the timestamp
will be printed
 in the form   -NNNNN.-NNNNNNNNN (instead of the more usual -NNNN.NNNNNNNNN).
* %Bx produces no output if the birth time is unavailable or invalid
(unless x is @).

This seems reasonable to me, on the basis that users of %B@ may want
to see the raw information, invalid or not.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]