Commit graph

28 commits

Author SHA1 Message Date
Janis e1f59b1b46 using BoxedNode alias instead of Rc<Node> 2023-04-06 11:47:34 +02:00
Janis 6762812ec5 removed tree::find_key/find_key_rev in favour of entry/_rev 2023-04-05 21:31:56 +02:00
Janis db762e0187 cleanup + switching to entry instead of find_key() 2023-04-05 21:07:35 +02:00
Janis 577abca2db entry api 2023-04-05 17:32:33 +02:00
Janis a1a5b08970 save tree borrow lifetime in range/iter 2023-04-05 00:55:20 +02:00
Janis e0b1ddf3f6 idk 2023-04-04 22:25:14 +02:00
Janis de79b77940 getting files by relative path to other inode 2023-04-03 17:01:56 +02:00
Janis 578861c4fa helper functions for extent data structure access 2023-04-03 17:01:35 +02:00
Janis d4f62371f8 path normalization fixed for relative paths 2023-04-03 17:01:11 +02:00
Janis f2885b7e00 better out of range error msg 2023-04-03 17:00:57 +02:00
Janis 03997b78e7 stuff
- outofbounds error
- caching btrees  with rc<node>s after reading from disk/file
2023-04-03 00:11:44 +02:00
Janis 9602b399e0 find inodes by path, inodeid and by parent
- impl Display for NodeHandle which only shows the node header and the index of
the handle
- Fs<T> has functionality for retrieving the root directory, looking up inodeids
by absolute path, getting the inodeitem, inoderef, dirindex and diritem by
inodeid, listing extents of a inodeid (if regfile)
- simple INode structure holding the inodeid and the path to the inode as a list
of byte sequences
2023-04-02 00:30:13 +02:00
Janis 6148e1b089 implementing TreeItem and parsing for extentdata
- implementing extentdata as an enum of either Inline + data bytes or not
inline (preallocated and whatever)
- accessor for name component in ItemWithName<T>
2023-04-02 00:26:52 +02:00
Janis 5a9918285f path helper fix
- remove directory segment and instead just have "file" for directories and
files and other kinds of files since we cant know just based on the path what it
is
- segmetns are stored as vecdeque in normalized path to allow for hopefully more
efficient poping in FIFO order (but definitely more ergonomic)
- test for trailing seperators, the last trailing seperator is ignored, multiple
trailing seperators are turned into noops because i parse paths left to
right (regex?) in the simplest way possible. in normalized paths noops are
completely ignored/removed
2023-04-02 00:23:45 +02:00
Janis 2af01747e7 finding nodes by range (fast) 2023-04-01 16:35:39 +02:00
Janis 8ce787a837 path helpers 2023-04-01 16:35:27 +02:00
Janis fa66bf415e generalized item + name bytes pattern 2023-03-31 01:14:43 +02:00
Janis 33852e99b0 cleanup 2023-03-30 22:57:46 +02:00
Janis cc0b4b817f added parents to nodehandle 2023-03-30 17:33:26 +02:00
Janis 6a462422a8 remove tests that rust-analyzer doesnt like 2023-03-29 17:52:27 +02:00
Janis 2f2311d13a v2 refactor 2023-03-29 17:52:20 +02:00
Janis 899b759b3d slight refactor pre 2023-03-29 17:51:53 +02:00
Janis ea1488edc8 partial key for searching wildcard keys 2023-03-25 16:16:08 +01:00
Janis 9a8c8228a3 idk stuff 2023-03-25 16:15:59 +01:00
Janis f1d968fbf5 btrfs learning tool 2023-03-23 22:30:30 +01:00
Janis 47710fe4fa btrfs crate 2023-03-15 19:25:19 +01:00
Janis c22758f860 asdf idk uhhhhh 2023-03-14 13:57:28 +01:00
Janis 354012852a asdf 2023-01-15 22:04:54 +01:00