1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

- Bump PORTREVISION.

- Add checks in rc.d scripts to avoid "double" loading/unloading.
- Add patch-fuse_io.c (fix from
  http://mercurial.creo.hu/repos/fuse4bsd-hg/?rev/d7bf90a8cc85).
- Handle "nonempty" option by ignoring it, used by ntfs-3g
  (http://mercurial.creo.hu/repos/fuse4bsd-hg/?rev/aef999f12049).
- In the rc.d script unmount FUSE filesystem in the "stop" command, in reverse
  order in case the mounts are nested, waiting one second after each. This is
  a temporary workaround for umount returning before the cache has been
  flushed (which causes for example files not being written to the disk), a
  proper solution is being worked on.
- Add note in pkg-message about "stop" rc.d command unmounting FUSE
  filesystems.

PR:		ports/118758
Submitted by:	alepulver (myself)
Approved by:	Anish Mistry <amistry@am-productions.biz> (maintainer)
This commit is contained in:
Alejandro Pulver 2007-12-17 17:22:09 +00:00
parent 6104532c6e
commit b9e3656f2e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=203931
5 changed files with 48 additions and 4 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= fusefs
DISTVERSION= 0.3.9-pre1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= sysutils kld
MASTER_SITES= http://fuse4bsd.creo.hu/downloads/ \
http://am-productions.biz/docs/

View File

@ -25,13 +25,31 @@ stop_cmd="fusefs_stop"
fusefs_start()
{
if kldstat | grep -q fuse\\.ko; then
echo "${name} is already running."
return 0
fi
echo "Starting ${name}."
kldload $kmod
}
fusefs_stop()
{
if ! kldstat | grep -q fuse\\.ko; then
echo "${name} is not running."
return 1
fi
echo "Stopping ${name}."
# Unmount FUSE filesystems in reverse order (in case they are nested) with
# a delay of one second after, to allow 'umount' finish.
mount | sed -e '1!G;h;$!d' | while read dev d1 mountpoint d2; do
case "$dev" in
/dev/fuse[0-9]*)
echo "fusefs: unmounting ${mountpoint}."
umount $mountpoint ; sleep 1
;;
esac
done
kldunload $kmod
}
load_rc_config $name

View File

@ -0,0 +1,11 @@
--- fuse_module/fuse_io.c.orig Tue Jun 19 09:35:22 2007
+++ fuse_module/fuse_io.c Thu Dec 13 02:46:05 2007
@@ -148,7 +148,7 @@
}
if (uio->uio_resid == 0)
- return (0);
+ goto out;
if (uio->uio_rw == UIO_WRITE && fp->f_flag & O_APPEND) {
if ((err = VOP_GETATTR(vp, &va, cred, td)))

View File

@ -1,6 +1,15 @@
--- mount_fusefs/mount_fusefs.c Sat Jul 14 13:12:09 2007
+++ mount_fusefs/mount_fusefs.c Sat Jul 14 13:12:09 2007
@@ -469,7 +469,8 @@ showversion(void)
--- mount_fusefs/mount_fusefs.c.orig Tue Jun 19 09:35:22 2007
+++ mount_fusefs/mount_fusefs.c Thu Dec 13 02:44:12 2007
@@ -70,6 +70,8 @@
{ "user_id=", 0, 0x00, 1 },
{ "group_id=", 0, 0x00, 1 },
{ "large_read", 0, 0x00, 1 },
+ /* "nonempty", just the first two chars are stripped off during parsing */
+ { "nempty", 0, 0x00, 1 },
MOPT_STDOPTS,
MOPT_END
};
@@ -469,7 +471,8 @@
int
init_backgrounded(void)
{
@ -9,3 +18,4 @@
+ size_t len;
len = sizeof(ibg);

View File

@ -12,4 +12,9 @@ Now fuse filesystems (sysutils/fusefs-*) can be mounted at startup from
/etc/fstab with the "late" parameter. This requires a symlink in /usr/sbin
named "mount_<fstype>", which is not created by all the fusefs ports.
Note that the rc.d script will unmount all fuse filesystems when called with
"stop", so it can unload the kernel module, and as a temporary workaround to
flush cache in drivers like NTFS-3G (sysutils/fusefs-ntfs) at shutdown (until
a proper solution is implemented).
==============================================================================