All Posts by Date or last 15, 30, 90 or 180 days.
also by Lloyd: diglloyd.com photography and WindInMyFace.com
Thank you for purchasing through links and ads on this site.
OWC / MacSales.com...
diglloyd Deal Finder...
Buy other stuff at Amazon.com...
Upgrade the memory of your 2018 Mac mini up to 64GB
877-865-7002
Today’s Deal Zone Items... Handpicked deals...
$80 $80
SAVE $0

$3198 $1798
SAVE $1400

$2799 $2099
SAVE $700

$199 $129
SAVE $70

$140 $100
SAVE $40

$699 $549
SAVE $150

$4499 $2649
SAVE $1850

$1699 $1199
SAVE $500

$5999 $5499
SAVE $500

$181 $141
SAVE $40

$7699 $7199
SAVE $500

$4499 $2649
SAVE $1850

$400 $330
SAVE $70

$4499 $2649
SAVE $1850

$4999 $4599
SAVE $400

$2350 $1950
SAVE $400

$1699 $1299
SAVE $400

$799 $699
SAVE $100

$200 $160
SAVE $40

$1997 $897
SAVE $1100

$250 $110
SAVE $140

$1398 $898
SAVE $500

$1199 $1099
SAVE $100

$3999 $2499
SAVE $1500

$200 $170
SAVE $30

$3999 $2499
SAVE $1500

$1498 $1398
SAVE $100

$2497 $1897
SAVE $600

$748 $598
SAVE $150

$899 $699
SAVE $200

Copying Files in macOS Can Truncate File Date/Time to One-Second Granularity

A user of IntegrityChecker reported that verification of backups was resulting in claims of changed file dates. Investigating, I found that copying files from an APFS file system to macOS Extended changes the file dates by truncating the time to the second (truncating, not rounding).

Since macOS Extended supports file times to the millisecond, there is no good explanation for this behavior other than yet one more macOS bug.

It’s a hassle to have files reported with changed dates when verifying data, so I’m making a few changes to IntegrityChecker java version (icj) to handle this situation better, such as not flagging a date change if the new date has a zero millisecond component.

Example of whacked file dates

I used the dgl finfo command to print out this information. It uses 'Carbon' APIs.

This example from one file for brevity; it happens for all files I tested (thousands).

Original on APFS volume

DataFork:         53529, 57344, closed
CreationDate      2019-05-20 22:19:19.80359873 0.3641260759.57184
ContentModDate    2019-05-20 22:19:19.80359877 0.3641260759.57444

Copy on another APFS volume

DataFork:         53529, 57344, closed
CreationDate      2019-05-20 22:19:19.80359873 0.3641260759.57184
ContentModDate    2019-05-20 22:19:19.80359877 0.3641260759.57444

Copy on macOS Extended volume

DataFork:         53529, 57344, closed
CreationDate      2019-05-20 22:19:19.80359000 0.3641260759.0  <== millis truncated
ContentModDate    2019-05-20 22:19:19.80359000 0.3641260759.0

Simon N writes:

Are you sure HFS+ supports milliseconds? As far as I know, the date resolution on HFS+ is 1s, so it seems to be inevitable that the milliseconds from APFS-originating files get cut off. One might argue Apple could have implemented rounding instead of truncating, but the outcome would (essentially) be the same.

MPG: I see that Wikipedia shows "Date resolution" as "1s", so perhaps my assumptions are invalid.

Because macOS Extended (HFS Plus) uses a 48 bit number for date/time (16 bit each for High/Low/Fraction), I had assumed that non-zero values in the fraction part of the number were milliseconds.

Since many files have non-zero values in the fraction part, it only made sense that this represents milliseconds. But if the file system only does time to the second, then these values are essentially garbage, or being used for oddball purposes by Apple.

Still, rumors suggest that macOS S***ForBrains 99.99.99 will fix all bugs forever.


Save the tax, we pay you back, instantly!
View all handpicked deals...

Samsung RU8000 82" Class HDR 4K UHD Smart LED TV
$3198 $1798
SAVE $1400

diglloyd.com | Terms of Use | PRIVACY POLICY
Contact | About Lloyd Chambers | Consulting | Photo Tours
Mailing Lists | RSS Feeds | Twitter
Copyright © 2020 diglloyd Inc, all rights reserved.
Display info: __RETINA_INFO_STATUS__