fusefs-ntfs makes fatal trap/page fault in FreeBSD-7.0
Csaba Henk
csaba-ml at creo.hu
Sat Feb 9 17:35:07 UTC 2008
Hi,
On 2008-02-05, Zaphod Beeblebrox <zbeeble at 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
More information about the freebsd-stable
mailing list