ports/119944: sysutils/fusefs-kmod will not compile under 8-CURRENT
Diomidis Spinellis
dds at FreeBSD.org
Thu Jan 24 15:40:04 UTC 2008
>Number: 119944
>Category: ports
>Synopsis: sysutils/fusefs-kmod will not compile under 8-CURRENT
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jan 24 15:40:04 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Diomidis Spinellis
>Release: FreeBSD 8.0-CURRENT i386
>Organization:
AUEB
>Environment:
System: FreeBSD icarian.dmst.aueb.gr 8.0-CURRENT FreeBSD 8.0-CURRENT #13: Thu Jan 24 14:21:33 EET 2008 dds at icarian.dmst.aueb.gr:/usr/obj/usr/home/dds/src/fbsd-head/src/sys/ICARIAN i386
>Description:
The compilation is aborted with errors like
fuse_vfsops.c:382:49: error: macro "vn_lock" passed 3 arguments, but takes just 2
>How-To-Repeat:
# cd /usr/ports/sysutils/fusefs-kmod/
# make
>Fix:
Apply the following patch
diff -ru work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_io.c work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_io.c
--- work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_io.c 2008-01-24 17:00:29.000000000 +0200
+++ work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_io.c 2008-01-24 16:28:59.000000000 +0200
@@ -139,7 +139,7 @@
struct vnode *vp = fp->f_vnode;
int err = 0;
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
ASSERT_VOP_LOCKED__FH(vp);
if (_file_is_bad(fp) || ! _file_is_fat(fp)) {
@@ -166,7 +166,7 @@
fp->f_nextoff = uio->uio_offset;
out:
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
DEBUG("leaving with %d\n", err);
return (err);
diff -ru work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vfsops.c work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vfsops.c
--- work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vfsops.c 2008-01-24 17:00:29.000000000 +0200
+++ work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vfsops.c 2008-01-24 16:26:02.000000000 +0200
@@ -379,7 +379,7 @@
err = getnewvnode("fuse", mp, &fuse_vnops, &rvp);
if (! err) {
- err = vn_lock(rvp, LK_EXCLUSIVE | LK_RETRY, td);
+ err = vn_lock(rvp, LK_EXCLUSIVE | LK_RETRY);
#if NEW_VNODES_ADJUSTED_MANUALLY
if (err)
printf("fuse4bsd: leaking vnode %p\n", rvp);
@@ -407,7 +407,7 @@
free(fvdat, M_FUSEVN);
goto out;
} else
- VOP_UNLOCK(rvp, 0, td);
+ VOP_UNLOCK(rvp, 0);
data->mp = mp;
data->mpri = FM_PRIMARY;
@@ -591,7 +591,7 @@
vp = data->rvp;
vref(vp);
- vn_lock(vp, flags | LK_RETRY, td);
+ vn_lock(vp, flags | LK_RETRY);
if (vp->v_type == VNON) {
struct vattr va;
@@ -817,7 +817,7 @@
}
#if NEW_VNODES_ADJUSTED_MANUALLY
- err = vn_lock(*vpp, myflags, td);
+ err = vn_lock(*vpp, myflags);
if (err)
printf("fuse4bsd: leaking vnode %p\n", *vpp);
else
diff -ru work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vnops.c work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vnops.c
--- work/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vnops.c 2008-01-24 17:00:29.000000000 +0200
+++ work.ok/fuse4bsd-0.3.9-pre1/fuse_module/fuse_vnops.c 2008-01-24 16:28:28.000000000 +0200
@@ -1298,12 +1298,12 @@
* If doing dotdot, we unlock dvp for vget time
* to conform lock order regulations.
*/
- VOP_UNLOCK(dvp, 0, td);
+ VOP_UNLOCK(dvp, 0);
err = fuse_vget_i(dvp->v_mount, td, nid,
IFTOVT(fattr->mode), &vp, VG_NORMAL,
parentid);
if (flags & ISDOTDOT)
- vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td);
+ vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
if (err)
goto out;
*vpp = vp;
@@ -1568,7 +1568,7 @@
cache_attrs(vp, feo);
try_insert:
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
/*
* We can't let the vnode being vput() here, the caller wants
* that do by herself.
@@ -1583,7 +1583,7 @@
#if NEW_VNODES_ADJUSTED_MANUALLY
if (! err) {
- err = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
+ err = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
if (err)
printf("fuse4bsd: leaking vnode %p\n", vp);
else {
@@ -1956,13 +1956,13 @@
if (! _file_is_fat(fp))
panic("non-fat file passed to close routine");
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
if (_file_is_bad(fp)) {
DEBUG2G("fp %p, vnode #%llu: went bad, giving up\n",
fp, VTOILLU(vp));
/*
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
return (EBADF);
*/
goto out;
@@ -2400,7 +2400,7 @@
if ((err = getnewvnode("fuse", dvp->v_mount, &fuse_vnops, vpp)))
return (err);
- if ((err = vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, curthread))) {
+ if ((err = vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY))) {
#if NEW_VNODES_ADJUSTED_MANUALLY
printf("fuse4bsd: leaking vnode %p\n", *vpp);
#endif
@@ -2747,7 +2747,7 @@
* No LK_RETRY. See discussion in thread
* http://thread.gmane.org/gmane.os.dragonfly-bsd.kernel/8952/focus=8964
*/
- err = vn_lock(fvp, LK_EXCLUSIVE, td);
+ err = vn_lock(fvp, LK_EXCLUSIVE);
if (err)
goto out;
@@ -2758,7 +2758,7 @@
if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.')
|| fdvp == fvp
|| ((fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT)) {
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
err = EINVAL;
goto out;
}
@@ -2776,7 +2776,7 @@
*/
err = fuse_access_i(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_thread, &facp);
fnid = VTOI(fvp);
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
if (err)
goto out;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list