Re: dcache problems with vfat

Magnus Ahltorp (map@stacken.kth.se)
11 Jan 1999 23:28:11 +0100


> Magnus, do you remember the thread re: exporting get_empty_filp()?

I remember.

> 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.

This seems like a good idea. Would your solution include free creation
of these? Since Linux doesn't have an open_by_inode(), I created a
splitted open using file handles in a kernel module, but I must have
somewhere to hook the dentries. Right now, I make each dentry a root
one (setting the parent to self by myself). This is ugly, but I have
no choice, as far as I know.

> 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?)

It would be nice to have these things sorted out. Right now things are
not really as orthogonal as they should be, IMHO. Maybe I'm a pervert,
but I also like to have some documentation alongside potentially buggy
code. Yes, I would write some, but it's hard not knowing _exactly_ how
everything should work.

/Magnus
map@stacken.kth.se

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/