[GSoC][RFC] HAMMER compression

Michael Neumann mneumann at ntecs.de
Mon Apr 4 03:12:34 PDT 2011


Am Sonntag, den 03.04.2011, 21:02 +0900 schrieb Naohiro Aota:
> Hi,
> 
> I wrote my GSoC project proposal for "HAMMER compression". Could you
> take a look at it and provide me some comments or suggestions?
> 
> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/naota/1001#

I would not concentrate too much to the chflags stuff and the user land
utilities other than the "hammer reblocker" [1]. 

1) Imagine there would be compressed blocks stored in a HAMMER
filesystem. How can they be distinguished from non-compressed blocks and
how can they transparently be decompressed and returned to the user.
This is a major milestone! If you would start with that major task,
write yourself an ioctl syscall that generates for you a compressed file
to experiment with.

2) A "hammer compress" user-level utility that scans the filesystem
(similar to the reblocker and dedup) for uncompressed blocks. Start with
compressing each block, then think about "compressing only historical
blocks" or similar policies).

That's how I would do it. I think setting compression for each
individual file is not that important as we would have one PFS
for /usr/src for example (where we want compression) and /usr/obj (where
we don't want compression) so the hammer reblocker would be the ideal
choice for that.

Regards,

  Michael 

[1]: For example
http://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sbin/hammer/cmd_dedup.c







More information about the Kernel mailing list