-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
type_questionExtra attention is neededExtra attention is needed
Milestone
Description
It's time we move away from the current flist structure.
May be use sqlite to it's full potential to optimize file query. An entry per directory is very inefficient for file access, and make it very hard to implement the fuse layer using the inode api (although i did it in the rust implementation) i had to implement a caching layer (and had to do lots of data copying) to make it work properly.
I suggest something like
inode | parent-inode | entry
Entry can still be a capnp object but with a more simplified schema
struct Inode {
name @0: Text;
size @1: UInt64; # in bytes
attributes: union {
dir @2: Dir;
file @3: File;
link @4: Link;
special @5: Special;
}
aclkey @6: Text; # is pointer to ACL # FIXME: need to be int
modificationTime @7: UInt32;
creationTime @8: UInt32;
}I would also love to move away from capnp alltogether, although it's very size efficient it's not that good to work against in memory, u still have to
copyall your data out to be able to use it.
Metadata
Metadata
Assignees
Labels
type_questionExtra attention is neededExtra attention is needed