Google SoC idea

Ivan Voras ivoras at fer.hr
Mon Jun 6 16:12:43 GMT 2005


I have an idea that I could implement through Google's "Summer of Code" 
project, but as I have little experience with stuff it involves (kernel 
programming / disks / filesystem optimization), so I expect any answer 
from "It won't work" or "It's useless" to "It can't be done".  :)

The idea is this: to implement sort of GEOM-layer disk data journaling 
system. I imagine it to be a GEOM class using two "lower-level" devices: 
one for data and one for the "journal" (this way, the journal device can 
be on a fast and small disk). Such journaled device could be used to 
host any filesystem, probably mounted with synchronoues-access, and it 
will result in faster write access by keeping the writes sequential in 
the "journal" device. Journal information will be commited to the data 
disk periodically by a separate log-writer thread, or when it gets full. 
The "data disk" will be consistent so it can be used without it's 
"journal" part (after a clean disconnect/rebuild) if needed. At the 
worst case, I think this will help performance in cases when there's a 
burst of write activity followed by a period of IO idleness.

I've made the above idea more-or-less from my head in one afternoon, so 
it's perfectly possible that I'm missing some vital point or that it's 
complete nonsense :)

Does it make sense to do it this way? Is it worth applying for the SoC?



More information about the freebsd-hackers mailing list