GEOM (ggate) compression consumer +problem

Ivan Voras ivoras at fer.hr
Thu Sep 30 03:29:10 PDT 2004


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

(caveat: don't overflow it; e.g. storing 50MB from /dev/zero onto a 
device backed by a 10MB file is fine (with -c5 switch), but doing the 
same with /dev/random is not (risk of kernel panic))

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 :)

Now the problem: I currently only tested this on an old kernel 
(5.2-CURRENT from a few months ago), so this might be fixed in newer 
versions, but when I stress it with writing large files, the system 
'hangs' with my process (ggcomp) in 'wdrain' state. I'm not doing 
anything extraordinary (except that compression takes time...) in it, so 
I don't think it's "my fault". Any ideas?



More information about the freebsd-hackers mailing list