File:  [NetBSD Developer Wiki] / wikisrc / projects / project / ptyfs_multiple_mounts.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Sun Nov 6 14:48:47 2011 UTC (2 years, 5 months ago) by jmmv
Branches: MAIN
CVS tags: HEAD
Define the per-project category and difficulty at the template level,
instead of manually tagging the project pages.  While doing this, prefix
the tags with "category:" and "difficulty:" to make them easier to
understand.

[[!template id=project

title="Enhance ptyfs to handle multiple instances"

contact="""
[tech-kern](mailto:tech-kern@NetBSD.org)
"""

mentors="""
[Christos Zoulas](mailto:christos@NetBSD.org)
"""

category="kernel"
difficulty="easy"
duration="3 months"

description="""
Chrooted enviroments that need ptys cannot use ptyfs at this time because only one instance of ptyfs is supported. The task is to enhance ptyfs so that it can be mounted multiple times. The problems that need to be solved are:

* The ptyfs code needs to be modified so that the correct path is returned depending on the mount point in the TIOCPTMGET ioctl. There was code there to do this, but it was removed because it was not working properly.
* Since there can be only one instance of major/minor pty in the system, each mount point should only display the ptys that were created for that mountpoint and not others.
* Since ptyfs replaces the handlers for the traditional BSD style ptys when it is mounted and puts them back once it is unmounted, this handler hijacking will not work with multiple mounts. Perhaps a solution is to do it only for the first mount?

This project is implemented all in the kernel and has no documentation requirements.

For extra credit you can investigate if providing continuous numbers (without gaps) is feasible without too much recoding, and implement it.
"""
]]

[[!tag gsoc]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb