docs: clarify NSS feature scope after namespaces
This commit is contained in:
4
AI.md
4
AI.md
@@ -60,6 +60,10 @@ Namespace adaptation order:
|
||||
|
||||
After the namespace line is underway, continue with the rest of the useful NSS areas in this order: `netware.metadata`/trustee effective rights, directory quota semantics from `dirQuotas.c`, data streams and extended attributes, object IDs/search maps/salvage, then compression and NSS authsys/eDirectory-style identity work.
|
||||
|
||||
NCP scope note after checking `ncp__enu.pdf`: directory disk-space restrictions are not only a NetWare 5.x feature. The old file-system-extension calls are in the NetWare 3.x/4.x scope (`22/35` Get Directory Disk Space Restriction, `22/36` Set Directory Disk Space Restriction, `22/40` Scan Directory Disk Space), and the namespace-aware `87/39` Get Directory Disk Space Restriction is in NetWare 4.x/5.x scope. Still, do not wire directory quotas into active NCP enforcement until after DOS/LONG namespaces and the file-metadata/trustee base are stable. It is OK to directly adapt the useful NSS `dirQuotas.c` pieces into libnwfs earlier, but only behind lib/CTest plausibility tests that link the library and verify the data model/check math; leave the NCP endpoints disconnected until a later dedicated patch.
|
||||
|
||||
For NSS pieces that are outside the current NetWare 1.x-4.x target or that require a real backend (for example compression statistics/active compression state, eDirectory/authsys identity, and later server-management selectors), keep the adapted code dormant and covered by compile/link/logic CTests only. Do not expose fake NCP data for those features.
|
||||
|
||||
## Current handoff status after patch 0222
|
||||
|
||||
The current accepted patch line in this chat is expected to include:
|
||||
|
||||
24
REDESIGN.md
24
REDESIGN.md
@@ -3305,3 +3305,27 @@ This keeps the backend boundaries clear:
|
||||
- `nwquota.c/h`: NetWare metadata storage and metadata accounting.
|
||||
- `lnxquota.c/h`: Linux `quotactl()` access only.
|
||||
- future `bsdquota.c/h`: BSD-specific quota access only.
|
||||
|
||||
## NSS/libnwfs feature scope after namespace work
|
||||
|
||||
The next implementation line starts with NSS-derived namespaces, but the rest of
|
||||
NSS should be mined in a way that keeps protocol scope and backend readiness
|
||||
separate.
|
||||
|
||||
Directory disk-space restrictions are a good example. They are not solely a
|
||||
NetWare 5.x feature in the NCP reference: classic directory disk-space
|
||||
restriction calls exist in the NetWare 3.x/4.x family, and the namespace-aware
|
||||
variant exists in the NetWare 4.x family. Therefore the `dirQuotas.c` model is
|
||||
worth adapting into libnwfs. However, it should first land as library code with
|
||||
CTest plausibility tests only. The CTests should link libnwfs and verify the
|
||||
core arithmetic and model semantics: 4K block units, unlimited values, parent
|
||||
restriction scanning, smallest available restriction selection, and over-limit
|
||||
result calculation. The live NCP endpoints should remain disconnected until the
|
||||
DOS/LONG namespace layer and file metadata/trustee layer are stable.
|
||||
|
||||
For later NSS pieces such as data streams, extended attributes, object IDs,
|
||||
search maps, salvage and compression, use the same pattern: direct adaptation
|
||||
into mars-nwe/libnwfs files, compile/link/logic CTests while dormant, and no
|
||||
NCP-visible claims until the backend can answer truthfully. Compression in
|
||||
particular must not synthesize fake current-compression files, decompression
|
||||
lists or counters just to satisfy management selectors.
|
||||
|
||||
21
TODO.md
21
TODO.md
@@ -2310,10 +2310,27 @@ After namespace starts, continue with the next useful NSS areas in this order:
|
||||
1. NetWare/NSS file metadata and trustee effective-rights backend.
|
||||
2. Directory quota semantics from `dirQuotas.c` and related create/write/rename
|
||||
placement in `comnFile.c`, `comnIO.c` and `comnRename.c`.
|
||||
- `ncp__enu.pdf` shows directory disk-space restrictions in the current
|
||||
NetWare 1.x-4.x compatibility scope: the classic `22/35`, `22/36` and
|
||||
`22/40` calls are listed for NetWare 3.x/4.x/5.x, and the namespace-aware
|
||||
`87/39` variant is listed for NetWare 4.x/5.x.
|
||||
- Nevertheless, keep directory quotas disconnected from live NCP endpoints
|
||||
for now. Adapt the useful NSS/libnwfs code early if it is low-risk, but
|
||||
prove only the library model with CTest first: link libnwfs, create a small
|
||||
metadata-backed directory quota object, verify 4K block rounding, parent
|
||||
restriction selection, used/available arithmetic, unlimited handling, and
|
||||
over-limit decisions.
|
||||
- Only wire `22/35`, `22/36`, `22/40` and `87/39` after DOS/LONG namespace
|
||||
and file-metadata/trustee behaviour are stable.
|
||||
3. Data streams, Extended Attributes, object IDs, search maps and salvage
|
||||
references from `comnDataStream.c`, `extAttrBeast.c`, `objectIDStore.c`,
|
||||
`searchMap.c` and related files.
|
||||
4. Compression only after compressed-file attributes become a real target.
|
||||
`searchMap.c` and related files. For pieces not ready for NCP exposure, add
|
||||
compile/link/plausibility CTests and keep the NCP endpoints disconnected.
|
||||
4. Compression material can be kept as dormant lib code or references only.
|
||||
Compression-related NCPs must not fake
|
||||
active compression files, decompression lists, counters or byte counts without
|
||||
a real backend. Wire compression only after compressed-file attributes and
|
||||
compressed stream accounting become a real target.
|
||||
5. NSS authsys/eDirectory identity work only after classic bindery/NDS object-ID
|
||||
compatibility remains stable.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user