You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
xattrs (Linux, OSX, BSD) are currently stored in-line in the items, as a dictionary.
NTFS ADS are more file-like and are currently separate items altogether, using the Windows notation of file:stream.
SunOS fsattrs are not supported (but, as a quick summary: they essentially attach a completely independent FS namespace to every file).
On Linux xattrs are small by Kernel limitation. On OSX resource forks can be as big as normal files. Ditto for ADS.
There have been a couple ideas how to manage this better:
Add "subitems" to items; a chunk ID list for items that are attached to this item, as
streams / resource forks
fsattrs
This approach allows to encode even SunOS extremely advanced structure, and the added indirection avoids inflating the length of the items list unnecessarily.
Use in-band signalling in paths. Because no OS accepts NUL in paths, this is the obvious choice for the ISB (and could be thus argued to be out-of-band, but in-stream, in fact).
This is pretty much the same thing as 1.), with the advantage that older Borg correctly syncs to this and finds all chunks, while having the disadvantage that these items would be in the main items list, enlarging the length of it.
Either way allows for the semantics required and enables support for large xattrs/fsattrs/ADS. They also allow the proper case selection when extracting.
The text was updated successfully, but these errors were encountered:
Round-up of #51 #1337 #1342
file:stream
.On Linux xattrs are small by Kernel limitation. On OSX resource forks can be as big as normal files. Ditto for ADS.
There have been a couple ideas how to manage this better:
Add "subitems" to items; a chunk ID list for items that are attached to this item, as
This approach allows to encode even SunOS extremely advanced structure, and the added indirection avoids inflating the length of the items list unnecessarily.
Use in-band signalling in paths. Because no OS accepts NUL in paths, this is the obvious choice for the ISB (and could be thus argued to be out-of-band, but in-stream, in fact).
This is pretty much the same thing as 1.), with the advantage that older Borg correctly syncs to this and finds all chunks, while having the disadvantage that these items would be in the main items list, enlarging the length of it.
Either way allows for the semantics required and enables support for large xattrs/fsattrs/ADS. They also allow the proper case selection when extracting.
The text was updated successfully, but these errors were encountered: