Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Nov 2018 21:23:02 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Warner Losh <imp@bsdimp.com>, Konstantin Belousov <kostikbel@gmail.com>
Cc:        FreeBSD FS <freebsd-fs@freebsd.org>, Andriy Gapon <avg@FreeBSD.org>
Subject:   Re: How to fill in the fsid for file systems?
Message-ID:  <YTOPR0101MB11622285B1A5C47C3F002ABDDDCF0@YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <CANCZdfr2RC9iRJ38D0RGkh7e2B9LV-T11G6i9jgzdNOrmh1mbw@mail.gmail.com>
References:  <YTOPR0101MB11620BAF0E206EE36E927A5ADDF30@YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM> <20181030012240.GM5335@kib.kiev.ua> <YTOPR0101MB11621427AF47133A93311E16DDCD0@YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM> <e7813a64-59c2-67a1-3471-b32a6ca42ef8@FreeBSD.org> <YTOPR0101MB116207BA89FB66EE9B1AAF01DDCD0@YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM> <a831d660-1ed9-ef21-f457-8e1e986b96f2@FreeBSD.org> <YTOPR0101MB11621C0D5F4F4D9BED169110DDCF0@YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM> <4269ff9a-8e11-f441-fbb5-b23a6d8e253b@FreeBSD.org> <a66b836a-96de-9f07-bf15-18e2895ad124@FreeBSD.org> <20181102113609.GL5335@kib.kiev.ua>, <CANCZdfr2RC9iRJ38D0RGkh7e2B9LV-T11G6i9jgzdNOrmh1mbw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh wrote:
>Konstantin Belousov wrote:
[stuff snipped]
>>
>> I believe userspace nfs server implementations exist, and they have to u=
se
>> fhopen(2).
>>
Yes, I had not thought of these, but it makes sense that they would use fho=
pen(2).
NFS-Ganesha is quite widely used on Linux and is being integrated with Glus=
terFS,
which could result in a largely scalable NFS server (which supports NFSv4.1=
 and pNFS).
My experience with GlusterFS performance wasn't good, but I think that was
because I was using fuse and the kernel based NFS server (lots of userspace=
/kernel
boundary crossings, context switches, etc).
Unfortunately NFS-Ganesha dropped their FreeBSD port when they went to
version 2 (because they started using very Linux specific thread primitives=
, if I
recall correctly). However, maybe someone will step up to get it ported aga=
in?
Also, Isilon has some kind of proprietary NFS/SMB server that runs in users=
pace,
I think. No idea if it uses fhopen(2)?

>You are correct. NFS is the reason these interfaces exist because it has
>historically (or at least initially) been implemented in userspace.

Well, I guess my grey hair is showing...
I believe the first open source (although it predated that term) NFS server=
 implementation was the code I did that was first released in 4.3BSD Reno. =
(Admittedly it didn't get "open sourced" until the Networking-2 release cam=
e out.)
It was always kernel based and helped a few small startups like Netapp to g=
et
going. (Just to be clear, I'm not suggesting that the current Ontap has any=
 of
that code in it, but I think they used it in the early days.)

Most early NFS servers for unix-like systems were kernel based, using the
proprietary Sun Reference port.

The first NFS server for Linux was userspace, from what I recall.

rick=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTOPR0101MB11622285B1A5C47C3F002ABDDDCF0>