From owner-freebsd-arch Fri Jan 18 11:47:24 2002 Delivered-To: freebsd-arch@freebsd.org Received: from h132-197-179-27.gte.com (h132-197-179-27.gte.com [132.197.179.27]) by hub.freebsd.org (Postfix) with ESMTP id 1D7C437B404 for ; Fri, 18 Jan 2002 11:47:17 -0800 (PST) Received: from kanpc.gte.com (localhost [127.0.0.1]) by h132-197-179-27.gte.com (8.11.6/8.11.4) with SMTP id g0IJlFZ95883; Fri, 18 Jan 2002 14:47:15 -0500 (EST) (envelope-from ak03@gte.com) Date: Fri, 18 Jan 2002 14:47:15 -0500 From: Alexander Kabaev To: Maxime Henrion Cc: freebsd-arch@freebsd.org Subject: Re: Proposal for a new mount API Message-Id: <20020118144715.587a577c.ak03@gte.com> In-Reply-To: <20020118105335.A50775@sneakerz.org> References: <20020118112224.236b4754.ak03@gte.com> <12159.1011371137@critter.freebsd.dk> <20020118114124.61c39faf.ak03@gte.com> <20020118105335.A50775@sneakerz.org> Organization: Verizon Data Services X-Mailer: Sylpheed version 0.7.0claws8 (GTK+ 1.2.10; i386--freebsd5.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Maxime, are parameters in iovec supposed to be strings only, or you plan to allow arbitrary binary data? I apologize for being skeptical, but I fail to see what the new mount API in its current form improves upon existing implementation if arbitrary binary data will be allowed in parameters. Each and every FS in the tree today uses void *args to pass FS-specific structure as an argument to mount(2) syscall and is effectively able to work around the 32-bit flags restriction, so iovec with binary data within is just another way to repackage the same FS-specific structure. User-land programs will still be required to have intimate knowledge about what parameters and in what exactly format (binary? struct? string? int?) given FS requires on mount. In Linux, in contrast, a single 'mount' binary is able to mount most available FS-es in uniform way, because it simply passes parameters as strings to the kernel and allows each individual FS to process them. The proposed API does not allow that unless you require all the parameters in iovec to be strings. Even then each FS still has to perform its own parameter parsing even for simplest parameters. Common library of convenience functions to fetch parameter value possibly converting it to desired type from string format could take care of that. Do we want such functionality in the kernel? I asked this question before but nobody has responded so far :(-- Alexander Kabaev To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message