Commit graph

51 commits

Author SHA1 Message Date
Szymon Walter 7e0af1b8f6 add generic Idx type argument to Buffer and Length 2018-03-20 11:05:56 +01:00
Szymon Walter 88b1e3b668 impl Step for block Address to allow range iterating 2018-03-20 10:42:22 +01:00
Szymon Walter 63f0203601 add assert to block address unsafe constructos 2018-03-20 10:33:17 +01:00
Szymon Walter 2966b628fa rewrite how block addresses are constructed 2018-03-20 10:30:40 +01:00
Szymon Walter 677c072b45 fix arithmetic errors 2018-03-20 10:21:05 +01:00
Szymon Walter b55633205e add block_size and log_block_size methods to Address 2018-03-20 10:16:30 +01:00
Szymon Walter e6ebd09b3e derive PartialOrd and Ord for Address 2018-03-20 10:14:24 +01:00
Szymon Walter 69b3ba7552 impl Debug, LowerHex, Display for Address 2018-03-20 10:13:21 +01:00
Szymon Walter 5cfa684c03 rename ext2.bin to ext2.img 2018-03-20 10:03:09 +01:00
Szymon Walter cb1de4b2e3 add a way to address block in an ext2 fs 2018-03-20 07:21:24 +01:00
Szymon Walter f816ebdbe7 allow indexing inodes independent of the block group 2018-03-19 21:42:45 +01:00
Szymon Walter d1905db917 make update_global and update_inode private 2018-03-19 21:09:48 +01:00
Szymon Walter 95533395d9 add methods for querying and manipulating inodes to Ext2 2018-03-19 20:49:59 +01:00
Szymon Walter 7dd27917bd add in_use method for Inode to check whether there are any hard links 2018-03-19 20:42:27 +01:00
Szymon Walter c798b2bdb2 add Debug impls 2018-03-19 20:38:32 +01:00
Szymon Walter eef8f86e8b add find_inode function do impl Inode 2018-03-19 20:25:35 +01:00
Szymon Walter 6ce24624a7 add version and inode_size methods 2018-03-19 19:55:22 +01:00
Szymon Walter 1415941a96 update update_global method on Ext2 2018-03-19 19:41:45 +01:00
Szymon Walter fb1b5bdef5 fix unsafe keywords 2018-03-19 19:36:30 +01:00
Szymon Walter 959572eca1 mark Superblock::find unsafe; add test 2018-03-19 19:33:56 +01:00
Szymon Walter 0fc2c934d9 add offset argument to BlockGroupDescriptor::find_... 2018-03-19 19:33:20 +01:00
Szymon Walter 35170f2aee add block group descriptor table loading to Ext2 struct 2018-03-19 19:32:36 +01:00
Szymon Walter f1b5d2b2a0 rewrite fs to init in new 2018-03-19 18:38:33 +01:00
Szymon Walter e6acaad9a9 port BlockGroupDescriptor table finding to Buffer 2018-03-19 18:10:27 +01:00
Szymon Walter ade142843c add file_len test and rewrite file test 2018-03-19 17:42:08 +01:00
Szymon Walter 2e336270c8 fix some slicing issues 2018-03-19 17:41:42 +01:00
Szymon Walter 0d5b9aef12 add PartialEq impl for Error 2018-03-19 17:23:45 +01:00
Szymon Walter 0802005fa5 uncomment impl Buffer for &mut [T] 2018-03-19 17:05:01 +01:00
Szymon Walter a8199f00d0 add File Ext2 test 2018-03-19 13:35:00 +01:00
Szymon Walter 55b23f4974 add Result return type to fn commit 2018-03-19 13:30:42 +01:00
Szymon Walter c06982b7ac add Infallible, for errors which never occur 2018-03-19 13:28:18 +01:00
Szymon Walter aee2f2def0 impl Buffer for File 2018-03-19 09:48:11 +01:00
Szymon Walter 3d946eb721 add safe Ext2 wrapper struct 2018-03-19 08:39:46 +01:00
Szymon Walter bae7f23b3e use &Buffer<u8> instead of &[u8] on Superblock::find 2018-03-19 08:39:23 +01:00
Szymon Walter 6b34d3325a redo definitions on casts 2018-03-19 08:38:44 +01:00
Szymon Walter 172c267917 remove unmutable slices from Buffer 2018-03-19 08:28:59 +01:00
Szymon Walter 5991420aa8 add dynamic casting abilities to BufferSlice 2018-03-19 08:25:14 +01:00
Szymon Walter e91533440e add smart, delayed update Buffer 2018-03-19 00:02:31 +01:00
Szymon Walter 43e400ef08 fix again 2018-03-19 00:01:21 +01:00
Szymon Walter a9d5677c57 make find* functions unsafe 2018-03-18 20:38:48 +01:00
Szymon Walter 0c750fbdda move raw packed struct to sys module 2018-03-18 20:35:55 +01:00
Szymon Walter 0ffd97d29a move find_descriptor_table to impl BlockGroupDescriptor 2018-03-18 19:29:49 +01:00
Szymon Walter a19d8b205a add inode doc comment (copied from osdev) 2018-03-18 19:06:50 +01:00
Szymon Walter e0163e2b9e add offset argument to find_* functions 2018-03-18 19:04:57 +01:00
Szymon Walter c5f0edeabc minor fixes 2018-03-18 19:01:31 +01:00
Szymon Walter 096cc865a4 add locating Superblock and [BlockGroupDescriptor] 2018-03-18 18:38:54 +01:00
Szymon Walter b211d95807 replace Error/ErroKind pair with just enum Error 2018-03-18 18:34:26 +01:00
Szymon Walter 71a97a9e4d add error module 2018-03-18 18:12:10 +01:00
Szymon Walter 41f6ea1967 add error module 2018-03-18 18:11:58 +01:00
Szymon Walter 568ebd3207 add some struct definitions 2018-03-18 17:42:59 +01:00