maybe add node metadata? (in addition to edge metadata) #307
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#307
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
At present, our only metadata is on directory edges. Files are plain untyped
sequences of bytes, directories are dictionaries of (rwcap, rocap, metadata)
tuples.
In kicking ideas around with Rob, it occurred to me that there might be value
to being able to put metadata inside directory nodes: not on the edges that
point to its children, but attached to the node itself. One use for this that
we've discussed in the past is how to coordinate writes: if you could put a
FURL in the dirnode, you could establish a convention that says "you must try
to talk to the coordination server (at this FURL) and get a write-lock before
modifying the dirnode". The example that came up yesterday was some sort of
publish-subscribe server: "I promise to announce my changes to this dirnode
through the named pubsub server each time I change it", which would allow
clients to cache the contents for a long period of time (by subscribing to
hear about changes). It isn't clear that this particular purpose would be
useful, but a generalized per-dirnode metadata structure could make it easy
to implement things like this in the future.
Likewise, per-filenode metadata could be used to transform our untyped
sequence-of-bytes into typed files, which would make certain operations
easier (like viewing files in the web interface). Different filesystems offer
different sorts of metadata.. posix extended attributes, file mtime/ctime,
Mac resource forks. Some of these are attached to the edge, some are attached
to the node.
It might be useful to define a layer on top of flat sequence-of-bytes
immutable files to provide a place for this sort of filenode metadata. It
might be useful to combine a mutable metadata file with an immutable data
file, to alow mutable metadata. Or bind two mutable files together (one for
metadata and one for the main data) in an immutable form that would represent
the same semantic unit as a traditional unix file.
There are a lot of possibilites. Some systems put information in the metadata
because it is faster to read than the main data. Some put it in the metadata
because then other applications can read it without understanding the format
of the main file. We'd have to take considerations like this into account
before actually defining anything.
Is this the same as #947 (Add file-with-metadata caps)?