Date: Sat, 9 Feb 2008 17:23:58 +0000 (UTC) From: Csaba Henk <csaba-ml@creo.hu> To: freebsd-stable@freebsd.org Subject: Re: fusefs-ntfs makes fatal trap/page fault in FreeBSD-7.0 Message-ID: <slrnfqroa5.i6j.csaba-ml@beastie.creo.hu> References: <47A7D8AC.7030104@micom.mng.net> <5f67a8c40802042229y5f407e3bo55f32e95c7997848@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On 2008-02-05, Zaphod Beeblebrox <zbeeble@gmail.com> wrote: > I havn't seen this specific problem, but on my Dell XPS 1730 > (core-2-duo-extreme) The NTFS-3g mounts doen't seem to shutdown properly. > That is: many of the writes are uncommitted and the filesystem needs a check > and often information is lost ... unless I unmount the filesystems before > shutdown. Recently we added a feature called "synchronous unmount" which *might* improve the situation regarding shutdown. Probably soon there will be an update of fusefs-kmod which will include it. Anyway, here are the instructions how can you try it immediately: 1) Reinstall fusefs-libs with the following patch applied: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff -rup ../../work-orig/fuse-2.7.2/lib/mount_bsd.c ./lib/mount_bsd.c --- ../../work-orig/fuse-2.7.2/lib/mount_bsd.c Wed Dec 12 15:33:35 2007 +++ ./lib/mount_bsd.c Sat Feb 9 17:53:25 2008 @@ -228,7 +228,7 @@ void fuse_kern_unmount(const char *mount if (*ep != '\0') return; - asprintf(&umount_cmd, "/sbin/umount " _PATH_DEV "%s", dev); + asprintf(&umount_cmd, "/sbin/umount -f " _PATH_DEV "%s", dev); system(umount_cmd); } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2) Get the latest fuse4bsd code from the Mercurial repo by hg pull http://mercurial.creo.hu/repos/fuse4bsd-hg/ or as a direct tarball fetch: fetch http://mercurial.creo.hu/repos/fuse4bsd-hg/index.cgi/archive/tip.tar.gz Untar and make(1) it. Ignore the patches which are part of the fusefs-kmod port but you will need to do a cp /usr/local/include/fuse/fuse_kernel.h fuse_module/ before compilation. If you have a self-compiled kernel, you are suggested to use this make option: -DKERNCONF=<your-kernel-config> 3) Load the module with "kldload fuse_module/fuse.ko". You can as well install it to a place within your module path. 4) The sysctl vfs.fuse.sync_unmount controls who is eligible to using the fs with synchronous unmount. Its default value is 1, which mean only the superuser is eligible. You are suggested to enable it for everyone by sysctl vfs.fuse.sync_unmount=2 Now take a look how cleanly does the ntfs-3g shutdown happen. Please report back, I'm eager to know if this technique helps. Regards, Csaba
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?slrnfqroa5.i6j.csaba-ml>