summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2004-09-28 08:50:01 +0000
committerphk <phk@FreeBSD.org>2004-09-28 08:50:01 +0000
commitd3ceec948f3a65b58d702b97a626bcd5a6120632 (patch)
tree5db3eafc9dcb72b8c92752ea043e91b8fbf62396 /sys
parent5b9c332a3c21b24548f6017c648ef3ae8ff3e897 (diff)
downloadFreeBSD-src-d3ceec948f3a65b58d702b97a626bcd5a6120632.zip
FreeBSD-src-d3ceec948f3a65b58d702b97a626bcd5a6120632.tar.gz
Remove support for using NFS device nodes.
Diffstat (limited to 'sys')
-rw-r--r--sys/nfsclient/nfs_subs.c7
-rw-r--r--sys/nfsclient/nfs_vnops.c91
-rw-r--r--sys/nfsclient/nfsnode.h1
3 files changed, 2 insertions, 97 deletions
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c
index 0ab2fa0..a325c82 100644
--- a/sys/nfsclient/nfs_subs.c
+++ b/sys/nfsclient/nfs_subs.c
@@ -544,13 +544,6 @@ nfs_loadattrcache(struct vnode **vpp, struct mbuf **mdp, caddr_t *dposp,
vp->v_type = vtyp;
if (vp->v_type == VFIFO)
vp->v_op = fifo_nfsnodeop_p;
- else if (vp->v_type == VBLK)
- vp->v_op = spec_nfsnodeop_p;
- else if (vp->v_type == VCHR) {
- vp->v_op = spec_nfsnodeop_p;
- vp = addaliasu(vp, rdev);
- np->n_vnode = vp;
- }
np->n_mtime = mtime.tv_sec;
}
vap = &np->n_vattr;
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index ed0349e..8fbdb51 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -93,11 +93,8 @@ __FBSDID("$FreeBSD$");
#define vfs_busy_pages(bp, f)
#endif
-static int nfsspec_read(struct vop_read_args *);
-static int nfsspec_write(struct vop_write_args *);
static int nfsfifo_read(struct vop_read_args *);
static int nfsfifo_write(struct vop_write_args *);
-static int nfsspec_close(struct vop_close_args *);
static int nfsfifo_close(struct vop_close_args *);
static int nfs_flush(struct vnode *, struct ucred *, int, struct thread *,
int);
@@ -169,28 +166,6 @@ static struct vnodeopv_desc nfs_vnodeop_opv_desc =
{ &nfs_vnodeop_p, nfs_vnodeop_entries };
VNODEOP_SET(nfs_vnodeop_opv_desc);
-/*
- * Special device vnode ops
- */
-vop_t **spec_nfsnodeop_p;
-static struct vnodeopv_entry_desc nfs_specop_entries[] = {
- { &vop_default_desc, (vop_t *) spec_vnoperate },
- { &vop_access_desc, (vop_t *) nfsspec_access },
- { &vop_close_desc, (vop_t *) nfsspec_close },
- { &vop_fsync_desc, (vop_t *) nfs_fsync },
- { &vop_getattr_desc, (vop_t *) nfs_getattr },
- { &vop_inactive_desc, (vop_t *) nfs_inactive },
- { &vop_print_desc, (vop_t *) nfs_print },
- { &vop_read_desc, (vop_t *) nfsspec_read },
- { &vop_reclaim_desc, (vop_t *) nfs_reclaim },
- { &vop_setattr_desc, (vop_t *) nfs_setattr },
- { &vop_write_desc, (vop_t *) nfsspec_write },
- { NULL, NULL }
-};
-static struct vnodeopv_desc spec_nfsnodeop_opv_desc =
- { &spec_nfsnodeop_p, nfs_specop_entries };
-VNODEOP_SET(spec_nfsnodeop_opv_desc);
-
vop_t **fifo_nfsnodeop_p;
static struct vnodeopv_entry_desc nfs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
@@ -429,12 +404,9 @@ nfs_open(struct vop_open_args *ap)
struct vattr vattr;
int error;
- if (vp->v_type != VREG && vp->v_type != VDIR && vp->v_type != VLNK) {
-#ifdef DIAGNOSTIC
- printf("open eacces vtyp=%d\n", vp->v_type);
-#endif
+ if (vp->v_type != VREG && vp->v_type != VDIR && vp->v_type != VLNK)
return (EOPNOTSUPP);
- }
+
/*
* Get a valid lease. If cached data is stale, flush it.
*/
@@ -3023,65 +2995,6 @@ nfsspec_access(struct vop_access_args *ap)
}
/*
- * Read wrapper for special devices.
- */
-static int
-nfsspec_read(struct vop_read_args *ap)
-{
- struct nfsnode *np = VTONFS(ap->a_vp);
-
- /*
- * Set access flag.
- */
- np->n_flag |= NACC;
- getnanotime(&np->n_atim);
- return (VOCALL(spec_vnodeop_p, VOFFSET(vop_read), ap));
-}
-
-/*
- * Write wrapper for special devices.
- */
-static int
-nfsspec_write(struct vop_write_args *ap)
-{
- struct nfsnode *np = VTONFS(ap->a_vp);
-
- /*
- * Set update flag.
- */
- np->n_flag |= NUPD;
- getnanotime(&np->n_mtim);
- return (VOCALL(spec_vnodeop_p, VOFFSET(vop_write), ap));
-}
-
-/*
- * Close wrapper for special devices.
- *
- * Update the times on the nfsnode then do device close.
- */
-static int
-nfsspec_close(struct vop_close_args *ap)
-{
- struct vnode *vp = ap->a_vp;
- struct nfsnode *np = VTONFS(vp);
- struct vattr vattr;
-
- if (np->n_flag & (NACC | NUPD)) {
- np->n_flag |= NCHG;
- if (vrefcnt(vp) == 1 &&
- (vp->v_mount->mnt_flag & MNT_RDONLY) == 0) {
- VATTR_NULL(&vattr);
- if (np->n_flag & NACC)
- vattr.va_atime = np->n_atim;
- if (np->n_flag & NUPD)
- vattr.va_mtime = np->n_mtim;
- (void)VOP_SETATTR(vp, &vattr, ap->a_cred, ap->a_td);
- }
- }
- return (VOCALL(spec_vnodeop_p, VOFFSET(vop_close), ap));
-}
-
-/*
* Read wrapper for fifos.
*/
static int
diff --git a/sys/nfsclient/nfsnode.h b/sys/nfsclient/nfsnode.h
index d978224..3cac9b3 100644
--- a/sys/nfsclient/nfsnode.h
+++ b/sys/nfsclient/nfsnode.h
@@ -193,7 +193,6 @@ nfs_rsunlock(struct nfsnode *np, struct thread *td)
extern vop_t **fifo_nfsnodeop_p;
extern vop_t **nfs_vnodeop_p;
-extern vop_t **spec_nfsnodeop_p;
#if 0
extern vop_t **fifo_nfs4nodeop_p;
OpenPOWER on IntegriCloud