summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2004-12-11 21:33:35 +0000
committermarcel <marcel@FreeBSD.org>2004-12-11 21:33:35 +0000
commit860981b28ffdfd446b57ca2a66989e87f1362e9c (patch)
tree7c41fd7201539e08216eee1ac667327a650e2221 /sys
parent45b9cec85cc52bfd3ddacb6b52e5e6686859e12e (diff)
downloadFreeBSD-src-860981b28ffdfd446b57ca2a66989e87f1362e9c.zip
FreeBSD-src-860981b28ffdfd446b57ca2a66989e87f1362e9c.tar.gz
Revert previous commit. The null-pointer function call (a dereference
on ia64) was not the result of a change in the vector operations. It was caused by the NFS locking code using a FIFO and those bypassing the vnode. This indirectly caused the panic. The NFS locking code has been changed. Requested by: phk
Diffstat (limited to 'sys')
-rw-r--r--sys/gnu/ext2fs/ext2_vnops.c8
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c
index aad5909..ebc39d0 100644
--- a/sys/gnu/ext2fs/ext2_vnops.c
+++ b/sys/gnu/ext2fs/ext2_vnops.c
@@ -1476,7 +1476,7 @@ ext2fifo_read(ap)
uio = ap->a_uio;
resid = uio->uio_resid;
- error = vop_read(&fifo_specops, ap);
+ error = fifo_specops.vop_read(ap);
ip = VTOI(ap->a_vp);
if ((ap->a_vp->v_mount->mnt_flag & MNT_NOATIME) == 0 && ip != NULL &&
(uio->uio_resid != resid || (error == 0 && resid != 0)))
@@ -1502,7 +1502,7 @@ ext2fifo_write(ap)
uio = ap->a_uio;
resid = uio->uio_resid;
- error = vop_write(&fifo_specops, ap);
+ error = fifo_specops.vop_write(ap);
ip = VTOI(ap->a_vp);
if (ip != NULL && (uio->uio_resid != resid || (error == 0 && resid != 0)))
VTOI(ap->a_vp)->i_flag |= IN_CHANGE | IN_UPDATE;
@@ -1529,7 +1529,7 @@ ext2fifo_close(ap)
if (vp->v_usecount > 1)
ext2_itimes(vp);
VI_UNLOCK(vp);
- return (vop_close(&fifo_specops, ap));
+ return (fifo_specops.vop_close(ap));
}
/*
@@ -1543,7 +1543,7 @@ ext2fifo_kqfilter(ap)
{
int error;
- error = vop_kqfilter(&fifo_specops, ap);
+ error = fifo_specops.vop_kqfilter(ap);
if (error)
error = ext2_kqfilter(ap);
return (error);
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c
index aad5909..ebc39d0 100644
--- a/sys/gnu/fs/ext2fs/ext2_vnops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vnops.c
@@ -1476,7 +1476,7 @@ ext2fifo_read(ap)
uio = ap->a_uio;
resid = uio->uio_resid;
- error = vop_read(&fifo_specops, ap);
+ error = fifo_specops.vop_read(ap);
ip = VTOI(ap->a_vp);
if ((ap->a_vp->v_mount->mnt_flag & MNT_NOATIME) == 0 && ip != NULL &&
(uio->uio_resid != resid || (error == 0 && resid != 0)))
@@ -1502,7 +1502,7 @@ ext2fifo_write(ap)
uio = ap->a_uio;
resid = uio->uio_resid;
- error = vop_write(&fifo_specops, ap);
+ error = fifo_specops.vop_write(ap);
ip = VTOI(ap->a_vp);
if (ip != NULL && (uio->uio_resid != resid || (error == 0 && resid != 0)))
VTOI(ap->a_vp)->i_flag |= IN_CHANGE | IN_UPDATE;
@@ -1529,7 +1529,7 @@ ext2fifo_close(ap)
if (vp->v_usecount > 1)
ext2_itimes(vp);
VI_UNLOCK(vp);
- return (vop_close(&fifo_specops, ap));
+ return (fifo_specops.vop_close(ap));
}
/*
@@ -1543,7 +1543,7 @@ ext2fifo_kqfilter(ap)
{
int error;
- error = vop_kqfilter(&fifo_specops, ap);
+ error = fifo_specops.vop_kqfilter(ap);
if (error)
error = ext2_kqfilter(ap);
return (error);
OpenPOWER on IntegriCloud