GEOM/ggate or VFS problem?

From: Ivan Voras <ivoras_at_fer.hr>
Date: Sat, 02 Oct 2004 12:37:00 +0200
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