<div dir="ltr">

<p>Hello everyone,</p><p>Here is my report for third week. This week I started to actually implement LZ4 compression in HAMMER2 file system. To do so, I need to significantly change writing and reading internal functions for cases when the compression function is set. The reason is that the current write path and read path are not prepared for compression of data inside them, so I'll have to implement them differently. This will also help for the future encryption function, because, I think, the same paths will serve for that too.</p>
<p>Currently I’m working on write path. It doesn't work at this point, because I'm doing something really wrong and the system crashes, but hopefully I'll will find what the problem is and fix it soon. For now it “assumes” that the compression always fails and writes data as it is. Then I'll have to implement a read path which, similarly, will “assume” that compression failed and will simply read the data as it is.</p>
<p>When both paths will be implemented correctly, it should be very simple to insert there the compression/decompression functions. At least, it should be straightforward.</p><p>Hopefully, during next week at some point I will have the write path working.</p>
<p>All the code related to this work is now in my repository, branch “hammer2_LZ4” [1].</p><p>I'll appreciate any suggestions and criticism.</p><p><br></p><p>Daniel</p><p>[1] git://<a href="http://leaf.dragonflybsd.org/~iostream/dragonfly.git">leaf.dragonflybsd.org/~iostream/dragonfly.git</a></p>


</div>