The temporary namespace is no longer a note
Two left: one path length both implementations agree on, and a bound on directory entries that keeps every one of them nameable as a parent.
This commit is contained in:
@@ -2,25 +2,6 @@
|
|||||||
|
|
||||||
Temporary notes from the SBFS v2 and CosmOS review, in priority order.
|
Temporary notes from the SBFS v2 and CosmOS review, in priority order.
|
||||||
|
|
||||||
## Protect the temporary-file namespace
|
|
||||||
|
|
||||||
Whole-file saves and streamed writes use the fixed names `sbfs.part` and `sbfs.out`.
|
|
||||||
Starting another operation deletes an existing entry with the corresponding name as stale
|
|
||||||
temporary output, but these are otherwise legal user filenames. A real user file with one
|
|
||||||
of those names can therefore be deleted.
|
|
||||||
|
|
||||||
Possible resolutions:
|
|
||||||
|
|
||||||
- Reserve these names and refuse ordinary creation under them.
|
|
||||||
- Use a spare descriptor flag to identify temporary entries, and clean up by identity
|
|
||||||
rather than by name.
|
|
||||||
- Move temporary artifacts into a defined `/tmp` policy where appropriate. A stream's
|
|
||||||
temporary currently needs to be in the destination directory because rename changes a
|
|
||||||
name but not a parent, so `/tmp` alone may require adding a move operation.
|
|
||||||
|
|
||||||
Whatever rule is chosen should be enforced in both SplitDisk and the native SBFS code and
|
|
||||||
documented as part of the format or CosmOS policy.
|
|
||||||
|
|
||||||
## Establish one portable path-length limit
|
## Establish one portable path-length limit
|
||||||
|
|
||||||
SplitDisk carries paths up to 511 characters, while the native path machinery appears to
|
SplitDisk carries paths up to 511 characters, while the native path machinery appears to
|
||||||
|
|||||||
Reference in New Issue
Block a user