Re: [PATCH] 9p: create separate 9p client interface

From: Latchesar Ionkov
Date: Mon Apr 30 2007 - 13:00:59 EST


On 4/30/07, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
On Mon, Apr 30, 2007 at 09:32:41AM -0600, Latchesar Ionkov wrote:
> Create a separate 9P client interface that can be used outside the VFS
> layer. In addition to VFS, the new interface can be used to export the
> authentication channel or from other interfaces.

And what exact users would that be? We have a huge dislike for putting
abstractions in just for the abstractions sake, so if you want this
merged you'd better present a highly useful client to that interface.

In the current implementation the 9p VFS layer uses directly the
low-level 9p messages. It intermixes the logic required by VFS with
managing some data structures (v9fs_fid for example) that belong to
9P. This makes the VFS code harder to understand and modify.
Separating the low-level 9p interface makes the VFS operations shorter
and easier to understand.

Another scenario that we need separate interface for is exporting the
authentication channels to user space so more than one user can be
authenticated. The work on finishing the authentication will take some
more time, but there are other changes that Eric is working on and
that will also benefit from this change.

The interface that this patch creates is internal to 9p and involves
mainly moving code from the vfs_* files to a separate file. fs/9p is
less than 50 LOC bigger than the previous version.

Also the non-filesystem interface code shouldn't live in fs/ but
rather in net/9p/

That makes sense, thanks. I can split the code and put the low-level
transport/multiplexer/9pclient(and eventually Eric can add his
9pserver) in a net/9p directory.

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