All, 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. Thoughts? James. _______________________________________________ Bug-findutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-findutils
