HomeFreeBSD

makefs: emit NM records for all directory entries

Description

makefs: emit NM records for all directory entries

We previously attempted to emit Rock Ridge NM records only when the name
represented by the Rock Ridge extensions would actually differ. We would
omit the record for an all-upper-case directory name, however Linux (and
perhaps other operating systems) map names with no NM record to
lowercase.

This affected only directories, as file names have an implicit ";1"
version number appended and thus always differ. To solve, just emit NM
records for all entries other than DOT and DOTDOT .

We could continue to omit the NM record for directories that would avoid
mapping (for example, one named 1234.567) but this does not seem worth
the complexity.

PR: 203531
Reported by: Thomas Schmitt <scdbackup@gmx.net
Reviewed by: kevans
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D39258

(cherry picked from commit 978013a0945d4c6b7ab3ee798dc13c74e913762a)

Details

Provenance
emasteAuthored on Mar 24 2023, 5:53 PM
Reviewer
kevans
Differential Revision
D39258: makefs: emit NM records for all directory entries
Parents
rGb95746135307: makefs: correct El Torito bood record
Branches
Unknown
Tags
Unknown