The goal of this project is to add a data de-duplication mechanism to the HAMMER
filesystem. A reasonable approach would be to detect potential data matches using
CRCs during pruning runs. Then you could verify there is actual duplication of data
-(i.e. the match is not a false positive), collapse the B-Tree data reference and account for the
-additional reference in the allocation blockmap.
+(i.e. the match is not a false positive), collapse the B-Tree data reference and account for the additional reference in the allocation blockmap.
+
+BSD kernels cache data on a per-vnode basis, possibly investigate methods by which de-duplication could be extended into the vnode layer.
Meta information:
---
-##### Port FUSE or PUFFS from FreeBSD/NetBSD
+##### Port PUFFS from FreeBSD/NetBSD
* http://www.netbsd.org/docs/puffs/
* This would make many userspace filesystems available to DragonFly, e.g. sshfs to mention only one.
##### Make vkernels checkpointable
* See checkpt(1).
-* Teach the checkpt syscall how to checkpoint multiple vmspaces.
-* Add code to the vkernel which gets triggered on SIGCKPT to dump/load e.g. the current state of network drivers.
+* Implement save and restore of segment registers so that threaded applications may be checkpointed. The segment registers support TLS. There are potential security concerns here.
+* Teach the checkpt system call how to checkpoint multiple vmspaces.
+* Add code to the vkernel which gets triggered upon reception of a SIGCKPT signal to dump/load e.g. the current state of network drivers.
* This would allow us to save and restore or even migrate a complete DragonFly operating system running on the vkernel platform.
This could be especially handy on laptops (if we'd get X11 operating in vkernels).
* See also: http://www.dragonflybsd.org/docs/developer/CheckpointFeatures/
* Prerequisites: C, OS internals
* Difficulty: Medium
* Contact point: Michael Neumann <mneumann@ntecs.de>
+* References: [1](http://leaf.dragonflybsd.org/mailarchive/kernel/2007-02/msg00073.html) [2](http://leaf.dragonflybsd.org/mailarchive/users/2007-02/msg00034.html)
---