You can either modify the kernel to support EFS or use something like
FUSE to implement it entirely within userspace.
If you want to go the kernel route look in the kernel source ../fs subdirectory and you will see a series of subdirectories each of which provide support for a particular filesystem. Look in these subdirectories and you will quickly get an idea of what you need to do.
I