I've made a GEOM compression layer daemon for ggate (compresses data before storing to underlying file/media). It's still early version and unfinished, and it's available at: http://ivoras.sharanet.org/ggcomp.tgz I know it supports building (and using) an UFS[2] filesystem in it, I haven't tried others (It registers as a device with 8k sectors; it seems it's the maximum UFS can handle, although the compression would be more efficient with larger sector sizes). It's really good at making backups of /dev/zero :) Writing to the device "raw" (e.g. dd if=/dev/zero of=/dev/ggate0) seems to work fine. When I use it to host UFS2 filesystem, and do (relatively) large writes to it, both ggcomp and the writing process (e.g. dd) get stuck in the 'wdrain' state, and the system often cannot be recovered except by hard reboot (e.g. everything (console, network) is still active and responsive, CPU is not being hogged, but any fs writes get stuck). I've reproduced exactly the same problem with the stock ggatel utility (which is probably the simplest ggate class consumer there can be, and ggcomp is based on it), so this might be an important bug. Steps to reproduce: # dd if=/dev/zero of=/tmp/thingie bs=1m count=10 # ggatel create -v /tmp/thingie # newfs /dev/ggate0 # mount /dev/ggate0 /mnt # dd if=/dev/zero of=/mnt/blah bs=1m count=9 (repeat the last step until lockup; it takes less time with ggcomp) I can do this on an old kernel from a few months ago, and also a new BETA6 kernel. Any ideas?Received on Sat Oct 02 2004 - 08:37:45 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:15 UTC