Page MenuHomeFreeBSD

makefs: Fix "time" mtree attribute handling
ClosedPublic

Authored by mhorne063_gmail.com on Mar 18 2019, 6:14 PM.

Details

Summary

When processing mtree(5) MANIFEST files, makefs(8) throws will throw an
error if it encounters an entry whose "time" attribute contains a
non-zero subsecond component (e.g. time=1551620152.987220000).

Update the handling logic to properly assign the subsecond component if
built with nanosecond support, or silently discard it otherwise.

Also, re-enable the time attribute for the kyua tests.

PR: 194703

Test Plan

Ran makefs using METALOG, which contains timestamps for the kernel.

Ran the kyua tests.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

usr.sbin/makefs/mtree.c
656 ↗(On Diff #55205)

makefs is built without HAVE_STRUCT_STAT_ST_MTIMENSEC, and fails to compile with it defined. D19626 makes the change required to fix this, and I have tested that with both of these changes nanoseconds are handled properly for a generated UFS image.

emaste accepted this revision.Mar 18 2019, 6:22 PM

LGTM

This revision is now accepted and ready to land.Mar 18 2019, 6:22 PM
This revision was automatically updated to reflect the committed changes.