Messages in this thread |  | | | Date | Sat, 8 Jun 2002 15:42:59 -0700 (PDT) | | From | Linus Torvalds <> | | Subject | Re: [PATCH] Futex Asynchronous Interface |
| |
On Fri, 7 Jun 2002, Rusty Russell wrote: > > Linus, Al, is there an easier way to do this? I stole this from sockfs, > but I balked at another 50 lines for a proper inode creation, so I just use > the same dentry and inode over and over.
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/
|  |