|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Wed, 30 Jan 2008
POHMNELFS first release: 50 ml.
Is suspended for tomorrow. Kernel side is fully ready and was quite
actively tested (I think I found lots of tricks used by ext2 and others
when they maintain link counters and process inodes). There are some issues
with local caches, which I will think about later (there are two caches
right now - one is for gloabal hash to inode conversation, another one is
per-inode, it contains hash to inode number only keys, for example
it contains hard links and directories like '.' and '..', other usual
directories and files exists in both caches, the latter cache is used
for ->readdir() implementation, since it is also indexed
by offset field).
I will not release code today because of userspace server, which is so
utterly bad (for every single operation it has to traverse tree of the
objects and to open/close each parent's file descriptor), so it screams
for rewriting. At least for the initial rewrite it will open every single
object it contains, so that requests from remote client would not require
lots and lots of tree traversals. I know that this is not a good solution,
but the only good solution is to move server into the kernel too, but it
will take several days to complete, so it will be scheduled for future versions.
Also found that debugging in Xen is a nightmare: first, it does not support oprofile
(at least the latest version constantly says me "No sample file found" when I try
to see the report), second, it is buggy - I have (it looks so) two xen domains with identical kernels,
one of them regulary freezes in so much obscure places, that it is impossible
to debug it correctly. And then I lost (some ldap problems which do not allow
to login to that domain anymore) the first setup, which worked good... Third,
Xen setup I have is slow (very damn slow), fourth, it is unfair testing,
since different domains can eat all cpu during one or another test and that will
not be easily detected.
So, for initial testing it is enough, but real development will require real hardware.
Stay tuned...
/devel/fs :: Link / Comments ()
|