i Erik,
I think I found a small bug in your cramfs patch, which I guess you ported
from mkfs.jffs2.c. Therefore this bug might apply to mkfs.jffs2.c as well.
When searching for a file (or device node) to create in a subdirectory,
mkcramfs doesn't remove the parent's path component which it's already
matched. This prevents the sought node from ever being found if it lives
in a subdirectory.