aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2023-04-18 13:57:29 +0000
committerEd Maste <emaste@FreeBSD.org>2023-04-27 16:45:37 +0000
commit0001406ae235412745951ecf5832c688ee6079da (patch)
tree3416b07a8f0a28059c3e4fc1d06e84655a7b855e
parentd74a8305b0ca1b12b16b92146e8e40440d4e408e (diff)
downloadsrc-0001406ae235412745951ecf5832c688ee6079da.tar.gz
src-0001406ae235412745951ecf5832c688ee6079da.zip
makefs: set cd9660 Rock Ridge timestamps for . and ..
DOT and DOTDOT entries have special handling, and previously only Rock Ridge PX (POSIX attributes) entries were attached. Add TF (timestamp) entries as well. PR: 203531 Reported by: Thomas Schmitt <scdbackup@gmx.net> Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39662 (cherry picked from commit dd9059b3e9a1711d54c1d511a2cbb23e6e23f556)
-rw-r--r--usr.sbin/makefs/cd9660/iso9660_rrip.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr.sbin/makefs/cd9660/iso9660_rrip.c b/usr.sbin/makefs/cd9660/iso9660_rrip.c
index 1107688aa21e..e1b8fc993a3a 100644
--- a/usr.sbin/makefs/cd9660/iso9660_rrip.c
+++ b/usr.sbin/makefs/cd9660/iso9660_rrip.c
@@ -394,6 +394,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node,
SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY);
cd9660node_rrip_px(current, parent->node);
TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
+
+ /* TF - timestamp */
+ current = cd9660node_susp_create_node(SUSP_TYPE_RRIP,
+ SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY);
+ cd9660node_rrip_tf(current, parent->node);
+ TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
}
} else if (node->type & CD9660_TYPE_DOTDOT) {
if (grandparent != NULL && grandparent->node != NULL &&
@@ -403,6 +409,12 @@ cd9660_rrip_initialize_node(iso9660_disk *diskStructure, cd9660node *node,
SUSP_ENTRY_RRIP_PX, "PX", SUSP_LOC_ENTRY);
cd9660node_rrip_px(current, grandparent->node);
TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
+
+ /* TF - timestamp */
+ current = cd9660node_susp_create_node(SUSP_TYPE_RRIP,
+ SUSP_ENTRY_RRIP_TF, "TF", SUSP_LOC_ENTRY);
+ cd9660node_rrip_tf(current, grandparent->node);
+ TAILQ_INSERT_TAIL(&node->head, current, rr_ll);
}
/* Handle PL */
if (parent != NULL && parent->rr_real_parent != NULL) {