Date: Sun, 20 Oct 1996 14:53:33 -0700 From: Julian Elischer <julian@whistle.com> To: hackers@freebsd.org Subject: DEVFS progress report Message-ID: <326A9F5D.2781E494@whistle.com>
next in thread | raw e-mail | index | archive | help
Well here's a progress report on devfs.. One of my original design goals was to do away with the mechanism in the kernel known as "device vnode aliasing". The theory was that if all references to the same device ended up at the same vnode, then that would allow the vnode aliasing code (messy stuff) to simply be elliminated. Unfortunatly there is one problem about this that just cannot be gotten around. If there is just one vnode for all instances for a device, then all fstats on that vnode must return the same value. no matter where it was openned from, even if the original path looked as though it had a different set of attributes. I've tried many ways to get around this but it's just too hard to get "expected" unix semantics. The only way to achieve it is to use a scheme that ends up looking exactly like vnode aliasing, which is what I was trying to get away from in the first place.. After trying for a year, I've basically decided that I can't achieve this (laudable) goal. this has produced many complication in the devfs design, and stopped me from doing many "obvious" things. I will be changing devfs inthe near future to re-allign it with the design now that I have removed that one goal. hopefully this will allow the following to happen easier.. 1/ mounting root from the devfs (you'd be surprised how this is affected) 2/ translucent attribute storage (I've been worrying how to do this.. this makes it more possible). 3/ resolution of the problems with unmounting filesystems mounted from devfs 4/ assisting the ability to change permissions for a device in one devfs without compromising another. (don't ask) I hope you will all bear with me as I make these changes. (or is that "bare"?) julian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?326A9F5D.2781E494>