summaryrefslogtreecommitdiffstats
path: root/sys/miscfs
diff options
context:
space:
mode:
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/devfs/devfs_vfsops.c1
-rw-r--r--sys/miscfs/fdesc/fdesc_vfsops.c1
-rw-r--r--sys/miscfs/kernfs/kernfs_vfsops.c1
-rw-r--r--sys/miscfs/nullfs/null_vfsops.c26
-rw-r--r--sys/miscfs/portal/portal_vfsops.c1
-rw-r--r--sys/miscfs/procfs/procfs_vfsops.c1
-rw-r--r--sys/miscfs/umapfs/umap_vfsops.c23
-rw-r--r--sys/miscfs/union/union_vfsops.c3
8 files changed, 42 insertions, 15 deletions
diff --git a/sys/miscfs/devfs/devfs_vfsops.c b/sys/miscfs/devfs/devfs_vfsops.c
index b6be038..264f049 100644
--- a/sys/miscfs/devfs/devfs_vfsops.c
+++ b/sys/miscfs/devfs/devfs_vfsops.c
@@ -303,6 +303,7 @@ static struct vfsops devfs_vfsops = {
devfs_sync,
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
devfs_init
};
diff --git a/sys/miscfs/fdesc/fdesc_vfsops.c b/sys/miscfs/fdesc/fdesc_vfsops.c
index 97231a4..a451c18 100644
--- a/sys/miscfs/fdesc/fdesc_vfsops.c
+++ b/sys/miscfs/fdesc/fdesc_vfsops.c
@@ -224,6 +224,7 @@ static struct vfsops fdesc_vfsops = {
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
fdesc_init,
};
diff --git a/sys/miscfs/kernfs/kernfs_vfsops.c b/sys/miscfs/kernfs/kernfs_vfsops.c
index 0f21035..a08e9d4 100644
--- a/sys/miscfs/kernfs/kernfs_vfsops.c
+++ b/sys/miscfs/kernfs/kernfs_vfsops.c
@@ -252,6 +252,7 @@ static struct vfsops kernfs_vfsops = {
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
};
diff --git a/sys/miscfs/nullfs/null_vfsops.c b/sys/miscfs/nullfs/null_vfsops.c
index 730eb80..06e1be0 100644
--- a/sys/miscfs/nullfs/null_vfsops.c
+++ b/sys/miscfs/nullfs/null_vfsops.c
@@ -57,8 +57,9 @@
static MALLOC_DEFINE(M_NULLFSMNT, "NULLFS mount", "NULLFS mount structure");
static int nullfs_fhtovp __P((struct mount *mp, struct fid *fidp,
- struct sockaddr *nam, struct vnode **vpp,
- int *exflagsp, struct ucred **credanonp));
+ struct vnode **vpp));
+static int nullfs_checkexp __P((struct mount *mp, struct sockaddr *nam,
+ int *extflagsp, struct ucred **credanonp));
static int nullfs_mount __P((struct mount *mp, char *path, caddr_t data,
struct nameidata *ndp, struct proc *p));
static int nullfs_quotactl __P((struct mount *mp, int cmd, uid_t uid,
@@ -385,17 +386,25 @@ nullfs_vget(mp, ino, vpp)
}
static int
-nullfs_fhtovp(mp, fidp, nam, vpp, exflagsp, credanonp)
+nullfs_fhtovp(mp, fidp, vpp)
struct mount *mp;
struct fid *fidp;
- struct sockaddr *nam;
struct vnode **vpp;
- int *exflagsp;
- struct ucred**credanonp;
{
- return VFS_FHTOVP(MOUNTTONULLMOUNT(mp)->nullm_vfs, fidp, nam,
- vpp, exflagsp, credanonp);
+ return VFS_FHTOVP(MOUNTTONULLMOUNT(mp)->nullm_vfs, fidp, vpp);
+}
+
+static int
+nullfs_checkexp(mp, nam, extflagsp, credanonp)
+ struct mount *mp;
+ struct sockaddr *nam;
+ int *extflagsp;
+ struct ucred **credanonp;
+{
+
+ return VFS_CHECKEXP(MOUNTTONULLMOUNT(mp)->nullm_vfs, nam,
+ extflagsp, credanonp);
}
static int
@@ -416,6 +425,7 @@ static struct vfsops null_vfsops = {
nullfs_sync,
nullfs_vget,
nullfs_fhtovp,
+ nullfs_checkexp,
nullfs_vptofh,
nullfs_init,
};
diff --git a/sys/miscfs/portal/portal_vfsops.c b/sys/miscfs/portal/portal_vfsops.c
index bdb172b..d750b53 100644
--- a/sys/miscfs/portal/portal_vfsops.c
+++ b/sys/miscfs/portal/portal_vfsops.c
@@ -253,6 +253,7 @@ static struct vfsops portal_vfsops = {
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
};
diff --git a/sys/miscfs/procfs/procfs_vfsops.c b/sys/miscfs/procfs/procfs_vfsops.c
index 92245b8..9f51a3c 100644
--- a/sys/miscfs/procfs/procfs_vfsops.c
+++ b/sys/miscfs/procfs/procfs_vfsops.c
@@ -170,6 +170,7 @@ static struct vfsops procfs_vfsops = {
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
};
diff --git a/sys/miscfs/umapfs/umap_vfsops.c b/sys/miscfs/umapfs/umap_vfsops.c
index 005862a..afa44f0 100644
--- a/sys/miscfs/umapfs/umap_vfsops.c
+++ b/sys/miscfs/umapfs/umap_vfsops.c
@@ -56,8 +56,9 @@
static MALLOC_DEFINE(M_UMAPFSMNT, "UMAP mount", "UMAP mount structure");
static int umapfs_fhtovp __P((struct mount *mp, struct fid *fidp,
- struct sockaddr *nam, struct vnode **vpp,
- int *exflagsp, struct ucred **credanonp));
+ struct vnode **vpp));
+static int umapfs_checkexp __P((struct mount *mp, struct sockaddr *nam,
+ int *extflagsp, struct ucred **credanonp));
static int umapfs_mount __P((struct mount *mp, char *path, caddr_t data,
struct nameidata *ndp, struct proc *p));
static int umapfs_quotactl __P((struct mount *mp, int cmd, uid_t uid,
@@ -398,16 +399,25 @@ umapfs_vget(mp, ino, vpp)
}
static int
-umapfs_fhtovp(mp, fidp, nam, vpp, exflagsp, credanonp)
+umapfs_fhtovp(mp, fidp, vpp)
struct mount *mp;
struct fid *fidp;
- struct sockaddr *nam;
struct vnode **vpp;
+{
+
+ return (VFS_FHTOVP(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, fidp, vpp));
+}
+
+static int
+umapfs_checkexp(mp, nam, exflagsp, credanonp)
+ struct mount *mp;
+ struct sockaddr *nam;
int *exflagsp;
- struct ucred**credanonp;
+ struct ucred **credanonp;
{
- return (VFS_FHTOVP(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, fidp, nam, vpp, exflagsp,credanonp));
+ return (VFS_CHECKEXP(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, nam,
+ exflagsp, credanonp));
}
static int
@@ -428,6 +438,7 @@ static struct vfsops umap_vfsops = {
umapfs_sync,
umapfs_vget,
umapfs_fhtovp,
+ umapfs_checkexp,
umapfs_vptofh,
umapfs_init,
};
diff --git a/sys/miscfs/union/union_vfsops.c b/sys/miscfs/union/union_vfsops.c
index def8416..af828ac 100644
--- a/sys/miscfs/union/union_vfsops.c
+++ b/sys/miscfs/union/union_vfsops.c
@@ -496,7 +496,7 @@ union_statfs(mp, sbp, p)
static struct vfsops union_vfsops = {
union_mount,
- vfs_stdstart,
+ vfs_stdstart, /* underlying start already done */
union_unmount,
union_root,
vfs_stdquotactl,
@@ -504,6 +504,7 @@ static struct vfsops union_vfsops = {
vfs_stdsync, /* XXX assumes no cached data on union level */
vfs_stdvget,
vfs_stdfhtovp,
+ vfs_stdcheckexp,
vfs_stdvptofh,
union_init,
};
OpenPOWER on IntegriCloud