From 05ef328bb46c174dc3cdbc8c76e7fbc6f17562e6 Mon Sep 17 00:00:00 2001 From: husky Date: Sun, 13 Aug 2023 18:31:47 -0700 Subject: [PATCH] add journaling_impl text (no img yet) --- blog/posts/journaling_impl/checklist.jpg | Bin 0 -> 71167 bytes blog/posts/journaling_impl/files.png | Bin 0 -> 6231 bytes blog/posts/journaling_impl/index.html | 122 +++++++++++++++++++++++ microsoft.css | 6 ++ 4 files changed, 128 insertions(+) create mode 100644 blog/posts/journaling_impl/checklist.jpg create mode 100644 blog/posts/journaling_impl/files.png create mode 100644 blog/posts/journaling_impl/index.html diff --git a/blog/posts/journaling_impl/checklist.jpg b/blog/posts/journaling_impl/checklist.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78f1672c36f68d8d639d6191a27b494f72800892 GIT binary patch literal 71167 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 a+5zQNe|obYZg&IdV`gl1^qHY+!hZpG-K4$% literal 0 HcmV?d00001 diff --git a/blog/posts/journaling_impl/index.html b/blog/posts/journaling_impl/index.html new file mode 100644 index 0000000..8f401a9 --- /dev/null +++ b/blog/posts/journaling_impl/index.html @@ -0,0 +1,122 @@ + + + vore microcomputers development blog - blog post title here + + + + + +
+
+ vore microcomputers logo + +

VapUFS Implementation Hell: Week 2 of VoreStation Development

+
2023-08-13
+

written by Niko Chow-Stuart (Lead Developer)

+ + drawing of the vap mascot in a drawer with two manila folders to the right + +

+ while unfortunately, as i expected, i wasn't able to do as much work on the filesystem the week before last; + after managing to get somewhat back on track this week, i've finished nearly all aspects of VapUFS's + implementation! +
+
+ regarding the work i've done, i should probably go more in-depth about this image that i posted on my + personal social media accounts a bit ago. + checklist of things implemented for the filesystem, including direct access, creation and flushing of journal entries, and wrappers for journaled writes. the last entry, labeled directories, is unchecked. +
+
+ starting at the section labeled "direct access", the implementation was started by writing some basic + functions for retrieving the core structures of the filesystem off of the disk (using a generic abstraction + layer for the disk, not with any actual disk drivers). this was an important step to take, as very early on, + i decided to make it as clear as possible that all structs would be stored on-disk in big-endian values. + because of this, i was able to add in a step in the retrieval process that (depending on architecture) + converts the big-endian values to the cpu's native byte-ordering, and back again when storing. +
+
+ as the filesystem is journaled, i then began the work of implementing the creation of journal entries as + well as the somewhat more complex step of "flushing" the journal entries (i.e. performing them if they are + not corrupt, and then marking them as complete). this section of implementation took much longer than the + previous (which i'd say maybe took like an hour at most, including the time i spent procrastinating). + the source code (which i'll get to later in this post!) of the filesystem goes much more in-depth about + how everything works. +
+
+ regarding journaling, there is one major aspect listed in the image, that being the classification of + single block writes and multi block writes. one thing that i believe i have yet to clarify in the source + code is that the defined disk block size for the filesystem should be at least large enough to be + able to store the largest struct for the file system (which i believe is the superblock, spanning around + 156 bytes). this means that all metadata writes (which are journaled) can be performed using a single block. + i was originally planning on using this strategy for all writes, where they would be broken up into single + block writes in the journal; however, there is one area where this would be a bad idea: directories. + directories, in the typical UFS fashion, are stored in an inode's data blocks; however, they could + theoretically span multiple blocks in length. because of this, as well as the fact that they would be stored + in a potentially fragile b-tree structure, i decided to add a multi block journaled write. this way, if the + system is shut down during a directory contents update (e.g. new folder or file), the directory shouldn't + become corrupted. +
+
+ another potential confusion in the original image would be the difference between "journaling" and + "journaled access" (which i admit is probably not the best way to label it). "journaling" here refers to + directly creating and executing journal entries, whereas "journaled access" refers to higher-level + functions that manage creating journaled writes for various metadata structs as well as file data. notably, + file data journaled writes will automatically decide between single block and multi block operations + depending on the amount of data being written. this section of implementation also took quite a bit, as it + required extra thought into the planning of journal executions and failure states (one of which i realised + while writing this that i forgot to implement, that being the deallocation of data blocks upon source block + corruption). +
+
+ other than that, hopefully the only thing left is to write a serialisable b-tree implementation for + directory contents. i'm planning on also storing a pure array of file and directory names along-side the + b-tree in order to assist with recovery upon corruption, however none of that is written yet so i'll see + how things go when the time comes! +
+
+ regarding the release of the VapUFS source code, it should be up by the time this goes public! and by that + i mean, you can view it here: + link to git repo. + if anyone has trouble viewing it, just shoot me an email at + nikocs@voremicrocomputers.com and i'll try to fix it + asap! +
+
+ that's it for the progress this week! hopefully i'll actually start releasing these weekly now that i have + a bit more time on my hands. +
+ i will note that donations to our LiberaPay are very much appreciated, especially as i'm currently bouncing + between this and some other stuff to try to pay for everything! :D + + +
+ other than that, have a good week and happy voring! +

+ +
+ +
+ +
+
+ image of xenia, an anthropomorphic fox who was a contender for the linux mascot + image made by @cathodegaytube! +
+
+
+ + diff --git a/microsoft.css b/microsoft.css index be4023a..e0486b5 100644 --- a/microsoft.css +++ b/microsoft.css @@ -16,6 +16,12 @@ hr { background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0); } +.img-float-right { + float: right; + width: 40%; + padding: 10px; +} + .blog-listing { margin-top: 100px; margin-bottom: 100px;