There's nothing inherently wrong with re-using the inode and dentry -
that's what /dev/futex would do too, of course.
> It's still an awful lot of irrelevant code: what can I cut?
I don't think it's a matter of cutting, as much as possibly a matter of
tryign to share some common code. pipefs, sockfs and now this: they all do
pretty much exactly the same thing, and there is nothing that says that
they should have separate super_operations, for example, since they are
all identical.
And once you have the same super_operations, you really have the same
"fill_super" functions too. The only thing that separates these
superblocks is the root name, so that /proc gets nice output. So it should
be fine to just have
sb = create_anon_fs("futex");
and share all of the setup code across futex/pipes/sockfs.
Which still leaves you with the
get_unused_fd();
get_empty_filp();
filp->f_dentry = dget(sb->s_root);
.. fill it ..
fd_install(fd, filp);
but by then we're talking single lines of overhead.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/