From owner-freebsd-stable@FreeBSD.ORG Fri Dec 5 11:41:34 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5E23106567D for ; Fri, 5 Dec 2008 11:41:34 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id 979C28FC19 for ; Fri, 5 Dec 2008 11:41:34 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 42A061CAA85; Fri, 5 Dec 2008 06:41:34 -0500 (EST) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Fri, 05 Dec 2008 06:41:34 -0500 X-Sasl-enc: 090N2utzmGgNHcTNCVjFvI+Nk52L038WV9uD3R+eT3a3 1228477293 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 7F35135418; Fri, 5 Dec 2008 06:41:33 -0500 (EST) Message-ID: <4939136C.3000500@incunabulum.net> Date: Fri, 05 Dec 2008 11:41:32 +0000 From: Bruce M Simpson User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: FreeBSD stable X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Matteo Riondato , Konstantin Belousov Subject: Issues with mount(8) and FUSE in 7.1-PRERELEASE X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Dec 2008 11:41:34 -0000 Hi all, I noticed when porting ext2fuse to run on 7.1-PRERELEASE, that the port sysutils/fusefs-ntfs needs some additional steps in order to mount user-space FUSE filesystems on startup. These steps weren't necessary in 6.x. It seems mount(8) can't deal with new mount binaries unless it has been explicitly built with support for them; please see /usr/local/share/doc/ntfs-3g/README.FreeBSD for more info where the problem is described in more detail. There is a comment which reads as follows in the mount.c code: /* XXX: We need to get away from implementing external mount * programs for every filesystem, and move towards having * each filesystem properly implement the nmount() system call. */ Unfortunately, this assumption seems to be grounded in a very restricted picture of the filesystem world. FUSE is clearly something which doesn't fit a limited use case of "let's only mount stuff which the FreeBSD base system supports", and, to my mind, is applicable to the vast majority of FreeBSD desktop users. This seems like an inflexible approach, and I'm curious why this design choice persists. I understand the technical arguments for nmount() and I do support them, but not at the expense of functional utility. How can we make this work for users out-of-the-box? thanks, BMS P.S. There is a patch by Ale Pulver to change some of this hardcoded logic, however it doesn't seem complete: http://people.freebsd.org/~alepulver/current-7.0-mount.diff