(no commit message)
authordillon <dillon@web>
Tue, 9 Apr 2013 01:50:41 +0000 (18:50 -0700)
committerCharlie Root <root@leaf.dragonflybsd.org>
Tue, 9 Apr 2013 01:50:41 +0000 (18:50 -0700)
docs/developer/gsocprojectspage/index.mdwn

index 94d57ad..94c3654 100644 (file)
@@ -430,5 +430,34 @@ Meta information:
 
 
 ---
 
 
 ---
+
+##### HAMMER2 - Add block compression feature
+Add physical block compression to HAMMER2.  In HAMMER2 the a block reference describes a logical block and points to a physical block.  The physical block can be a different size than the logical block, thus it is possible to implement a compression algorithm to reduce physical space use on a block-by-block basis.
+
+* Add a hammer2 utility command and associated ioctl to set the compression mode on a directory, to be inherited by any new files or subdirectories created therein.
+
+* Implement one compression algorithm capable of doing block compression on a 64KB block of data.  The compression succeeds if it is able to compress at least 50% (down to 32KB), in powers of 2 (16KB, 8KB, etc), and the block is written uncompressed otherwise.
+
+Meta information:
+
+* Prerequisites: C
+* Difficulty: Moderate
+* Contact point: kernel@lists.dragonflybsd.org, Matthew Dillon <dillon@backplane.com>
+
+---
+
+##### HAMMER2 - Add block encryption feature
+Add physical block encryption to HAMMER2.
+
+* Add a hammer2 utility command and associated ioctl to set the encryption mode on a directory, to be inherited by any new files or subdirectories created therein.
+
+* Implement one encryption method.  Encryption meta-data space is available in the blockref, usually around 192 bits, which can be used to specify e.g. a public key, salt, IV, and/or encryption chaining through the filesystem topology.  Actual physical blocks must be encrypted in-place (1:1).
+
+Meta information:
+
+* Prerequisites: C
+* Difficulty: Moderate
+* Contact point: kernel@lists.dragonflybsd.org, Matthew Dillon <dillon@backplane.com>
+
 ---
  (please add)
 ---
  (please add)