From owner-freebsd-fs@freebsd.org Fri Nov 2 21:23:04 2018 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F256A10DBD4B for ; Fri, 2 Nov 2018 21:23:03 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670044.outbound.protection.outlook.com [40.107.67.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 95BE47F600; Fri, 2 Nov 2018 21:23:03 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM (52.132.50.155) by YTOPR0101MB1866.CANPRD01.PROD.OUTLOOK.COM (52.132.48.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.21; Fri, 2 Nov 2018 21:23:02 +0000 Received: from YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM ([fe80::9c71:6eb6:1bff:727b]) by YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM ([fe80::9c71:6eb6:1bff:727b%3]) with mapi id 15.20.1294.024; Fri, 2 Nov 2018 21:23:02 +0000 From: Rick Macklem To: Warner Losh , Konstantin Belousov CC: FreeBSD FS , Andriy Gapon Subject: Re: How to fill in the fsid for file systems? Thread-Topic: How to fill in the fsid for file systems? Thread-Index: AQHUb557F1RNqdJl0kuwS+F5J/DjsKU2/twAgAGdwkKAAGQrgIAAehmGgAELs4CAATs6uIAATiWAgAACTACAAE8CgIAAKTUAgAB1nRk= Date: Fri, 2 Nov 2018 21:23:02 +0000 Message-ID: References: <20181030012240.GM5335@kib.kiev.ua> <4269ff9a-8e11-f441-fbb5-b23a6d8e253b@FreeBSD.org> <20181102113609.GL5335@kib.kiev.ua>, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rmacklem@uoguelph.ca; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; YTOPR0101MB1866; 6:nQ39sTzQkeKDyrJGFAnjbi7HsYLopgaWrw3IjZW/cdVRwP2lXuweGZT4gfld4DT3Q0QRC5OvvhxpJ2SBJlF6Bw0/tl+CbLzdE9KsWm6yUNvhRi6spJW8E86TIe7LUH5rq3z5iJ/XqHHjECDkrWk48fk1C/6kDxYtOgnB8AUKOf0oFUFUv2rsIUONVnQrLzluEnNM4wnvWqeIZ/jhKSrF540bhLGRzDoJe7EDCECvU42ISPqU3DbOQBIk5Ka3ReA1rin0syjPC4q/fzevaPQTqSHpWE+L8RDYcLEiQbKgEmUTq8eNgfLW6zpi8UCckoYxWiwG3GJweOG/jzmfxcYY26VhEONccm8mlYD2RDg+ACjFxHEapFzXsdmSgRm7YHfipL10/k5U5fyGwPkj7WV4QLXS8w0JEwchcTF6jdg41DOmcHbDRnYEsg+KaKRF1hL1LLlisnZSoVD7IT5p6xEuAQ==; 5:yEGXQ777KSX63FP6qeABaw/gX31Mub/2rhxP3kcJdGnYYcLNNHS8+vX3iJhu4GQJctD650GJgKxwdEhylV0FVcAIP2A5VK4PxC7yPOOGQt4Errx7Qvt6FoiqUWi6QdE4sx3BobZ3+S+3FafrtWawonn6lq9K1D1eviddHc8zEys=; 7:SK2rxFjlWXz0HOiCssWccvbQRGGVlCUGEIL+Emhj8m2eZBmrF0VitAdPqG3NIPv+d3XvyRGHNOF8C7NLsRwOiuL+Xhw06JSA5FZyzlBf5bdHMhfWOaffq1FvqMRqAcLoHx4nxGxVtZzBds3ziSUOlw== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 87760efa-5c52-4e67-6658-08d641095f22 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:YTOPR0101MB1866; x-ms-traffictypediagnostic: YTOPR0101MB1866: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(148016)(149066)(150057)(6041310)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:YTOPR0101MB1866; BCL:0; PCL:0; RULEID:; SRVR:YTOPR0101MB1866; x-forefront-prvs: 08444C7C87 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(366004)(39860400002)(376002)(396003)(51444003)(199004)(189003)(102836004)(316002)(81166006)(106356001)(74316002)(8936002)(6436002)(9686003)(7696005)(81156014)(105586002)(68736007)(4326008)(6246003)(6506007)(76176011)(55016002)(8676002)(33656002)(53936002)(71200400001)(99286004)(305945005)(786003)(93886005)(25786009)(229853002)(97736004)(446003)(476003)(2900100001)(11346002)(486006)(39060400002)(71190400001)(74482002)(186003)(86362001)(46003)(54906003)(478600001)(110136005)(5660300001)(14454004)(256004)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:YTOPR0101MB1866; H:YTOPR0101MB1162.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts) x-microsoft-antispam-message-info: S0Jijj5LDTGswEdM0CzzwcAGtOD4LX8VX2Gri7NTxSnnebCsZLGu9mz1Wb7UzD4Vm35OvvgNqPPu7P7GRPk53EZVqysBqPdp6qv5cj0mnvbdpM5z1bh0/HVsv+JYfhZKBpqL3YRHZH746aEBKOrVyTfUvZjCVDlOWs31LUoGqxT9iQkBA3vDHYyCxmaxEnObqVN7zkRQQD1yS+BqxsQK/ouwDbk2BkhLste4tr3/l/jI22t2gqWmZChAG9ZSv9RIrYoGjRzzO8qvkIW1Ny6UPO4hVTUY4N3X5eKcZk9DxqHOjslKNCxHk4gy6U3JTNQfZ6kS35IQx2lUGZtdKhyucnYHsvXER0XmN908zjlTFj4= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-Network-Message-Id: 87760efa-5c52-4e67-6658-08d641095f22 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2018 21:23:02.5636 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTOPR0101MB1866 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Nov 2018 21:23:04 -0000 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=