/net/cs

7 views
Skip to first unread message

Chris Brannon

unread,
Oct 8, 2009, 2:43:54 PM10/8/09
to gle...@googlegroups.com
I was reading one of Rahul's blog entries [1], and I had a question.
Does /net/cs really belong in kernel space at all? I'm thinking that
it could be implemented as a 9p server or a fuse filesystem.
/net could be a union of two directories; one provided by kernel-space,
the other provided by user-space.

-- Chris

[1] http://slashnet.wordpress.com/2009/03/05/dns-a-hard-to-crack-nut/

Anant Narayanan

unread,
Oct 8, 2009, 4:29:23 PM10/8/09
to gle...@googlegroups.com
Yes, DNS resolution is not something that we should in the kernel. The
verdict of my discussion with Rahul was to move /net/cs to userspace
as you suggest.

Patches are welcome ;-)

Regards,
Anant

Anomit Ghosh

unread,
Dec 9, 2009, 1:12:56 PM12/9/09
to gle...@googlegroups.com
Continuing this discussion, I made a few changes to the code to make
/net/cs an empty directory rather than a file and then mounted a simple
FUSE file system on it. It seemed to work fine. So can we just
incorporate the DNS resolving facility in a FUSE file system for the
connection server?

J. R. Mauro

unread,
Dec 9, 2009, 2:33:49 PM12/9/09
to gle...@googlegroups.com, gle...@googlegroups.com




On Dec 9, 2009, at 1:12 PM, Anomit Ghosh <anomit...@gmail.com> wrote:

> Continuing this discussion, I made a few changes to the code to make
> /net/cs an empty directory rather than a file and then mounted a
> simple
> FUSE file system on it. It seemed to work fine.

Doubtless.

> So can we just
> incorporate the DNS resolving facility in a FUSE file system for the
> connection server?

I see some big problems with that:

Not everyone can use FUSE. A FUSE-9P translator would have to be
written to facilitate importing /net. Some distros may do DNS
differently, including administrative restrictions that could cause a
FUSE-based DNS filesystem to fail.

It would probably be a good substitute while work continues on the
slashnet driver, as it could make development of other parts easier,
but in the long run I don't think it's a viable solution.

>
> --
> To post to this group, send email to gle...@googlegroups.com
> To unsubscribe from this group, send email to glendix+u...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/glendix?hl=en

Rahul Murmuria

unread,
Dec 11, 2009, 1:06:00 AM12/11/09
to gle...@googlegroups.com
On Wed, Dec 9, 2009 at 2:33 PM, J. R. Mauro <jrm...@gmail.com> wrote:
>
> On Dec 9, 2009, at 1:12 PM, Anomit Ghosh <anomit...@gmail.com> wrote:
>
[[snip]]
> I see some big problems with that:
>
> Not everyone can use FUSE. A FUSE-9P translator would have to be
> written to facilitate importing /net. Some distros may do DNS
> differently, including administrative restrictions that could cause a
> FUSE-based DNS filesystem to fail.
>

True. I would like to have these files served from kernel-space. The
DNS resolution is a user-space activity but the /net/cs can still
remain in the kernel. I believe NFS has such a design where it maps
between userid and username with information from /etc/shadow. That is
because on the network, usernames are used, while the kernel only
understands userids.

I wonder if we could simply query the DNS resolution library in
userspace every time /net/cs encounters a url? I would like to avoid
using FUSE for /net/cs and continue to use libfs for it if possible.

>
> It would probably be a good substitute while work continues on the
> slashnet driver, as it could make development of other parts easier,
> but in the long run I don't think it's a viable solution.
>

I think we already have plan9port for such objectives. No point
exploring a temporary solution. Development on DNS resolution and
slashnet driver can be carried out in autonomy. You dont need one for
building the other.

>>
>> --


--
Rahul Murmuria

Anomit Ghosh

unread,
Jan 2, 2010, 2:24:58 PM1/2/10
to gle...@googlegroups.com
I went ahead and wrote a small FUSE fs for /net/cs . I don't know how
useful it might be currently but still put up the code at
http://github.com/anomit/-proto-type-cs
Reply all
Reply to author
Forward
0 new messages