tests: record AFP DOS name namespace smoke success
All checks were successful
Source release / source-package (push) Successful in 49s
All checks were successful
Source release / source-package (push) Successful in 49s
Record the follow-up Linux smoke-suite result for NCP 0x2222/35/18, AFP Get DOS Name From Entry ID, after the reverse lookup was changed to use the existing namedos.c DOS namespace alias builder.\n\nThe previous implementation returned the raw Unix/realcase relative path, which made SYS:PUBLIC/pmdflts.ini appear as public/pmdflts.ini. The corrected path now returns the canonical DOS namespace spelling PUBLIC/PMDFLTS.INI, matching mars_nwe's existing DOS name semantics instead of adding AFP-local case handling.\n\nThe note keeps the broader convergence rule explicit: AFP handlers should reuse mars_nwe namespace, attribute, trustee, timestamp, open, and directory helpers wherever those NetWare semantics already exist, and only keep AFP-specific metadata in the AFP xattr namespace.\n\nTests:\n- ./afp_smoke_suite.sh ... SYS:PUBLIC/pmdflts.ini\n- AFP Get DOS Name From Entry ID volume=0 entry_id=0x440cb9b2 path=PUBLIC/PMDFLTS.INI verified\n- Server log: AFP Get DOS Name From Entry ID: vol=0 entry=0x440cb9b2 path='PUBLIC/PMDFLTS.INI'\n- Suite result: failures=0
This commit is contained in:
10
TODO.md
10
TODO.md
@@ -381,12 +381,10 @@ Current status:
|
||||
Fork, narrow Set File Information metadata writes, NetWare-backed Archive
|
||||
attribute mapping, Modify timestamp writes through `nw_utime_node()`, and
|
||||
a conservative Get DOS Name From Entry ID reverse lookup.
|
||||
- The latest smoke-suite run for the new Get DOS Name From Entry ID helper
|
||||
exposed a casing mismatch rather than a transport failure: the server returned
|
||||
`public/pmdflts.ini` while the helper expected `PUBLIC/pmdflts.ini`. Follow-up
|
||||
work should decide whether the helper should compare case-insensitively,
|
||||
whether AFP 0x12 should return canonical NetWare spelling, or whether the
|
||||
path resolver should expose an existing mars_nwe canonical DOS-name helper.
|
||||
- The Get DOS Name From Entry ID helper now returns the canonical DOS namespace
|
||||
spelling from the existing mars_nwe `namedos.c` alias builder. The follow-up
|
||||
smoke run confirms `PUBLIC/PMDFLTS.INI` for `SYS:PUBLIC/pmdflts.ini`, replacing
|
||||
the earlier raw Unix/realcase `public/pmdflts.ini` result.
|
||||
|
||||
Design rule:
|
||||
|
||||
|
||||
@@ -693,7 +693,8 @@ entry ID. The reply is a one-byte DOS path length followed by the DOS path
|
||||
string for the matching entry. The smoke helper first resolves the supplied
|
||||
`VOL:PATH` through AFP Get Entry ID From Path Name when `--entry-id` is not
|
||||
provided, then calls AFP Get DOS Name From Entry ID and verifies that the
|
||||
returned path matches the original path without the volume prefix.
|
||||
returned path matches the existing mars_nwe DOS namespace spelling without the
|
||||
volume prefix.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -704,9 +705,21 @@ Example:
|
||||
Expected output shape:
|
||||
|
||||
```text
|
||||
AFP Get DOS Name From Entry ID volume=0 entry_id=0x399193ed path=PUBLIC/pmdflts.ini verified
|
||||
AFP Get DOS Name From Entry ID volume=0 entry_id=0x440cb9b2 path=PUBLIC/PMDFLTS.INI verified
|
||||
```
|
||||
|
||||
|
||||
|
||||
A successful post-fix smoke-suite run confirmed the `namedos.c` alias path:
|
||||
|
||||
```text
|
||||
AFP Get DOS Name From Entry ID volume=0 entry_id=0x440cb9b2 path=PUBLIC/PMDFLTS.INI verified
|
||||
AFP Get DOS Name From Entry ID: vol=0 entry=0x440cb9b2 path='PUBLIC/PMDFLTS.INI'
|
||||
```
|
||||
|
||||
This intentionally returns DOS namespace spelling rather than the raw Unix
|
||||
realcase path (`public/pmdflts.ini`).
|
||||
|
||||
The server implementation deliberately reuses the existing mars_nwe volume table
|
||||
and the `nwatalk_get_entry_id()` metadata probe. It does not create fallback
|
||||
entry IDs while walking the volume; the target entry must already have a cached
|
||||
|
||||
Reference in New Issue
Block a user