In its current form, FUSD is useful and has proven to be quite stable--we use it in production systems. However, it does have some limitations that could benefit from the attention of developers. Contributions to correct any of these deficiencies are welcomed! (Many of these limitations will not make sense without having read the rest of the documentation first.)
fusd_register() should, but currently does not, tell the kernel module which callbacks it wants to receive, per-device. This will be more efficient because it will prevent useless system calls for unsupported operations. In addition, it will lead to more logical and consistent behavior by allowing the kernel to use its default implementations of certain functions such as writev(), instead of being fooled into thinking the driver has an implementation of it in cases where it doesn't.