--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
wbr,
Shavkat
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
To visit our Web site, click on http://zfs-fuse.net/
To visit our Web site, click on http://zfs-fuse.net/
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
[...] from src/lib/libzfscommon/include/sys/zio.h:
ZIO_COMPRESS_ZLE,
ZIO_COMPRESS_LZO=30,
ZIO_COMPRESS_BZIP2=31,
ZIO_COMPRESS_LZO9,
ZIO_COMPRESS_FUNCTIONS
1. What is the value of ZIO_COMPRESS_FUNCTIONS?
2. Will it vary depending on number of declared compression methods?
If so, is it ok?
To visit our Web site, click on http://zfs-fuse.net/
3. Before people create / populate filesystems: can we keep some order
here, probably reserving space for other compression methods and
possibly sub-methods a.k.a compression levels? LZO offers five
compression levels for instance, to quote lzop manual:
-3 the default level offers pretty fast compression. -2, -3, -4, -5
and -6 are currently all equivalent - this may change in a future
release. (these produce files labeled LZO1X-1 by command `lzop -l')
-1, --fast
can be even a little bit faster in some cases - but most times
you won't notice the difference (a.k.a. LZO1X-1(15))
-7, -8, -9, --best
these compression levels are mainly intended for generating pre-
compressed data - especially -9 can be somewhat slow (a.k.a.
LZO1X-999/7, LZO1X-999/8, LZO1X-999/9, respectively)
Moreover, bzip2 and LZMA/LZMA2 also have several (nine? more?)
compression presets. Especially LZMA family have wide range of
parameters that influence both resource (memory, cpu) requirements and
compression ratio. Simple `xz -9vv' command shows following parameters
for LZMA2:
lzma2: dict=64MiB,lc=3,lp=0,pb=2,mode=normal,nice=64,mf=bt4,depth=0
Not diving too deeply it is pretty obvious that people might want
experiment with all these switches in the future. Introducing a new
(family of) algorithm(s) is the best time to layout the future shape
of the code, just like Eric and Ricardo did four years ago. Why not
reserve values, say, 30-34(39?) for LZO variants, 40-49(59?) for BZIP2
and so on? I am not trying to convince you to implement all mentioned
algorithms in all variants till tomorrow, I am just begging for a
little better house(code?)keeping ;-)
Once again - thank you for great work you've done.
To visit our Web site, click on http://zfs-fuse.net/
> So it's really a good thing you found this patch after all ! Thanks
> again ! :)
> (everything is pushed to the compress branch).
Created a test-ebuild here on gentoo, pulling your compress branch.
Unfortunately it does not build yet.
I get:
gcc -o zfs-fuse/zfs_operations.o -c -pipe -Wall -std=c99 -Wno-switch
-Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized
-fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-DTEXT_DOMAIN=\"zfs-fuse\" -s -O2 -DNDEBUG -D_KERNEL -DLINUX_AIO
-Ilib/libavl/include -Ilib/libnvpair/include -Ilib/libumem/include
-Ilib/libzfscommon/include -Ilib/libsolkerncompat/include
zfs-fuse/zfs_operations.c
zfs-fuse/zfs_operations.c: In function 'zfsfuse_listxattr':
zfs-fuse/zfs_operations.c:249:5: error: jump into scope of identifier
with variably modified type
zfs-fuse/zfs_operations.c:314:1: note: label 'out' defined here
zfs-fuse/zfs_operations.c:262:4: note: 'entry' declared here
zfs-fuse/zfs_operations.c:249:5: error: jump into scope of identifier
with variably modified type
zfs-fuse/zfs_operations.c:314:1: note: label 'out' defined here
zfs-fuse/zfs_operations.c:259:2: note: '({anonymous})' declared here
zfs-fuse/zfs_operations.c:253:2: error: jump into scope of identifier
with variably modified type
zfs-fuse/zfs_operations.c:314:1: note: label 'out' defined here
zfs-fuse/zfs_operations.c:262:4: note: 'entry' declared here
zfs-fuse/zfs_operations.c:253:2: error: jump into scope of identifier
with variably modified type
zfs-fuse/zfs_operations.c:314:1: note: label 'out' defined here
zfs-fuse/zfs_operations.c:259:2: note: '({anonymous})' declared here
scons: *** [zfs-fuse/zfs_operations.o] Error 1
scons: building terminated because of errors.
Any idea? Thanks, Stefan
> Created a test-ebuild here on gentoo, pulling your compress branch.
>
> Unfortunately it does not build yet.
Update: Done.
corrected my ebuild and modified the patch from
http://bugs.gentoo.org/show_bug.cgi?id=332395
to apply to the compress-branch from Emmanuel.
Also added a dependency to the ebuild to pull in the lzo-libraries.
It compiles now and works so far on my testbox.
I think I should add the files to bugs.gentoo.org?
gentoo-users, let me know if you want to test.
Stefan
Who knows? ;-)
> Anyway it's pushed, still in the compress branch, if someone else wants
> to test...
Just "emerged" it here, fine.
Do you have a specific test-script or so? Just to make things comparable ...
Stefan
... as well as changing the level :D
On the benchmark link I sent earlier, xz-2 is somewhere between
bzip2-2 and bzip2-3 in terms of compression ratio and time, xz-3 is
better than bzip2-9, while anything beyond that is just memory hog.
I'm guessing the optimal level would be somewhere between xz-3 and 4.
--
Fajar
Fajar
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
I'm using compression=lzjb on all of my datasets that I access
frequently or don't expect to be particularly compressible. When
making this decision I based it on benchmarking reads and writes of
uncompressible files, hoping that would represent the worst case.
Reading times were the same for all the compression methods I tried;
writing times as follows:
no compression: 1m18s
lzjb: 1m18s
gzip: 1m35s
gzip-1: 1m30s
gzip-9: 1m35s
So lzjb seems to come with no overhead for me in the worst case, and I
decided I might as well turn it on everywhere. Note that the file in
this test is 1.09GB, which comes to a write rate of just 14MB/s.
Anyone on a system that's faster to start with may well start noticing
a slowdown even with lzjb.
Nye
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
To visit our Web site, click on http://zfs-fuse.net/
I'd do
bzcat linux-2.6.1.tar.bz2 > /tmp/cachefile
md5sum /tmp/cachefile
cat /tmp/cachefile > zfs/tar # (measures compression time)
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
To visit our Web site, click on http://zfs-fuse.net/
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/
--
To post to this group, send email to zfs-...@googlegroups.com
To visit our Web site, click on http://zfs-fuse.net/