summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/nfsclient/nfs_vnops.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index 158e76f..ac4e0f6 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -438,7 +438,7 @@ nfs_open(struct vop_open_args *ap)
#ifdef DIAGNOSTIC
printf("open eacces vtyp=%d\n", vp->v_type);
#endif
- return (EACCES);
+ return (EOPNOTSUPP);
}
/*
* Get a valid lease. If cached data is stale, flush it.
@@ -956,9 +956,14 @@ nfs_read(struct vop_read_args *ap)
{
struct vnode *vp = ap->a_vp;
- if (vp->v_type != VREG)
- return (EPERM);
- return (nfs_bioread(vp, ap->a_uio, ap->a_ioflag, ap->a_cred));
+ switch (vp->v_type) {
+ case VREG:
+ return (nfs_bioread(vp, ap->a_uio, ap->a_ioflag, ap->a_cred));
+ case VDIR:
+ return EISDIR;
+ default:
+ return EOPNOTSUPP;
+ }
}
/*
OpenPOWER on IntegriCloud