On 3/18/12 10:24 AM, ambarisha b wrote:
Hi, On Fri, Mar 9, 2012 at 1:37 AM, Elad Efrat<elad%netbsd.org@localhost> wrote:On 2012-03-07 6:12 PM, ambarisha b wrote:I also found two other projects not on GSoC page really interesting. "Rewriting kernfs and procfs". Can it be worked on as a GSoC project, because it isn't tagged GSoC?
Certainly yes! In particular, this specific project was first listed as a GSoC project; no idea when it became removed from the list.
I want to see that done, by porting the pseudofs layer from FreeBSD and rewriting kernfs/procfs in terms of pseudofs. If you decide to do that, I can probably mentor it, so let me know.I couldn't find much documentation about pseudofs on the internet. So, I dug a little into FreeBSD's code (src/sys/fs/pseudofs/pseudofs.h) to inspect what pseudofs layer offers. FreeBSD's procfs has been built over their pseudofs. I studied some parts of it. I, now, have a good idea of how procfs is using pseudofs. But, to port the pseudofs, how do I realize the differences between NetBSD and FreeBSD which effect pseudofs?
I don't know much more about pseudofs than what I see in its manual page, but it indeed seems that taking this approach would be worthwhile. I imagine that porting pseudofs to NetBSD should not be "too complicated". There will probably be issues with UVM, locking and kauth (and maybe others), but these should not be too difficult to adapt to NetBSD-specific mechanisms.
The project description page [1] also talks about writing procfs in such a way as to be able to allow external code to add/delete its entries dynamically through an API. How would this work and what are its implications?
I'd recommend to look at the Linux procfs code. They have support for this particular functionality and you can probably get some good ideas from there.
Personally, I'd also like to see this project done. It was at one point an idea I wanted to work on, but then lost the time to do so and forgotten about it completely.
Looking forward to your project proposal!