[lkml]   [1999]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: dcache problems with vfat

On 11 Jan 1999, Magnus Ahltorp wrote:

> > > The dentry for the root of a mounted filesystem is returned by
> > > d_alloc_root() and is unhashed.
> >
> > Umm... Little addition: this function is used to allocate dentries for
> > sockets and pipes. IMHO they should have separate superblocks (maybe
> > one for each address family).
> Maybe even some generic d_alloc_root that stores a text string
> describing the type, like "socket" and "pipe", as to make it possible
> to create other roots (and be able to output something in /proc/*/fd/)?

Magnus, do you remember the thread re: exporting get_empty_filp()? What
I've meant back then was to have separate lists of struct file's, one per
superblock. Get a superblock per address family (and one for pipes) and
allocate root for it *once*. Then allocate normal dentries under said root
putting names a-la AF_UNIX-12345. BTW, separate lists of struct file's
would allow *much* cleaner code around tty's and much simpler scanning
phase in AF_UNIX garbage collector. No need to keep reference from socket
to file, BTW. (It's a layering violation, plain and simple; especially
unpleasant since sometimes we count said refecerence and sometimes we
don't. Could you spell file leaks?) I didn't finish this work yet but I'll
return to it in a week or so.
D'oh. With all that heap of code I'll probably just follow Alan's
example and will carry a separate tree (-bird). Part will (I hope) make
its way to 2.2, the rest... well, 2.3 <shrug>

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:49    [W:0.060 / U:13.768 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site