Robert Milkowski wrote:

Hello Darren,

Thursday, March 29, 2007, 12:01:21 AM, you wrote:

DRSC> Adam,
...
DRSC> 2) The question of whether or not to use bzip2 was raised in
DRSC>    the comment section of your blog.  How easy would it be to
DRSC>    implement a plugable (or more generic) interface between
DRSC>    ZFS and the compression algorithms it uses such that I
DRSC>    can modload a bzip2 compression LKM and tell ZFS to
DRSC>    use that?  I suspect that doing this will take extra work
DRSC>    from the Solaris side of things too...

LKM - Linux Kernel Module? :))))))

Anyway - first problem is to find in-kernel compress/decompress
algorithms or port user-land to kernel. Gzip was easier as it already
was there. So if you have in-kernel bzip2 implementation, and better
yet working on Solaris, then adding bzip2 to ZFS would be quite easy.

Last time I looked in ZFS compression code it wasn't dynamically
expandable - available compression algorithms have to be compiled in.

I suppose what would have been nice to see, architecturally,
was a way to transform data at some part in the pipeline and
to be able to specify various types of transforms, be they
compression, encryption or something else.  But maybe I'm
just dreaming without understanding the complexities of
what needs to happen on the "inside", such that where these
two operations might take place is actually incompatible and
thus there is little point of such a generalisation.

Now while dynamically plugable implementation sounds appealing I doubt
people will actually create any such modules in reality. Not to
mentions problems like - you export a pool, import on another host
without your module and basically you can't access your data.

Maybe, but it is also a very good method for enabling people
to develop and test new compression algorithms for use with
filesystems.  It also opens up a new avenue for people that
want to build their own appliances using ZFS to create an
extra thing that differentiates them from others.

So, for example, if the interface was plugable and Sun only
wanted to ship gzip, but I wanted to create a "better" ZFS
based appliance than one based on just OpenSolaris, I might
build a bzip2 module for the kernel and have ZFS use that
by default.

Darren

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to