summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>1999-12-19 06:08:07 +0000
committerrwatson <rwatson@FreeBSD.org>1999-12-19 06:08:07 +0000
commit4b6baecfc724bac12be9de99924e828b1e68046e (patch)
treeccf64e27cf5f979dcaaf7e55bb2a486df8b3f567 /sys/fs
parent114c517da1a1c0bab8d9fa884b67102ec0768fa1 (diff)
downloadFreeBSD-src-4b6baecfc724bac12be9de99924e828b1e68046e.zip
FreeBSD-src-4b6baecfc724bac12be9de99924e828b1e68046e.tar.gz
Second pass commit to introduce new ACL and Extended Attribute system
calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/cd9660/cd9660_vfsops.c2
-rw-r--r--sys/fs/coda/coda_vfsops.c4
-rw-r--r--sys/fs/fdescfs/fdesc_vfsops.c2
-rw-r--r--sys/fs/hpfs/hpfs_vfsops.c3
-rw-r--r--sys/fs/msdosfs/msdosfs_vfsops.c4
-rw-r--r--sys/fs/ntfs/ntfs_vfsops.c3
-rw-r--r--sys/fs/nullfs/null_vfsops.c15
-rw-r--r--sys/fs/nwfs/nwfs_vfsops.c3
-rw-r--r--sys/fs/portalfs/portal_vfsops.c2
-rw-r--r--sys/fs/procfs/procfs_vfsops.c2
-rw-r--r--sys/fs/umapfs/umap_vfsops.c18
-rw-r--r--sys/fs/unionfs/union_vfsops.c2
12 files changed, 55 insertions, 5 deletions
diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c
index 3ecdb06..01690a4 100644
--- a/sys/fs/cd9660/cd9660_vfsops.c
+++ b/sys/fs/cd9660/cd9660_vfsops.c
@@ -88,6 +88,8 @@ static struct vfsops cd9660_vfsops = {
cd9660_checkexp,
cd9660_vptofh,
cd9660_init,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(cd9660_vfsops, cd9660, VFCF_READONLY);
diff --git a/sys/fs/coda/coda_vfsops.c b/sys/fs/coda/coda_vfsops.c
index 04cf95b..7450c97 100644
--- a/sys/fs/coda/coda_vfsops.c
+++ b/sys/fs/coda/coda_vfsops.c
@@ -534,7 +534,9 @@ struct vfsops coda_vfsops = {
vfs_stdfhtovp,
vfs_stdcheckexp,
vfs_stdvptofh,
- vfs_stdinit
+ vfs_stdinit,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(coda_vfsops, coda, VFCF_NETWORK);
diff --git a/sys/fs/fdescfs/fdesc_vfsops.c b/sys/fs/fdescfs/fdesc_vfsops.c
index a451c18..0105ff7 100644
--- a/sys/fs/fdescfs/fdesc_vfsops.c
+++ b/sys/fs/fdescfs/fdesc_vfsops.c
@@ -227,6 +227,8 @@ static struct vfsops fdesc_vfsops = {
vfs_stdcheckexp,
vfs_stdvptofh,
fdesc_init,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(fdesc_vfsops, fdesc, VFCF_SYNTHETIC);
diff --git a/sys/fs/hpfs/hpfs_vfsops.c b/sys/fs/hpfs/hpfs_vfsops.c
index 7e4750f..1a7f85c 100644
--- a/sys/fs/hpfs/hpfs_vfsops.c
+++ b/sys/fs/hpfs/hpfs_vfsops.c
@@ -738,7 +738,8 @@ static struct vfsops hpfs_vfsops = {
hpfs_checkexp,
hpfs_vptofh,
hpfs_init,
- NULL
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(hpfs_vfsops, hpfs, 0);
#else /* defined(__NetBSD__) */
diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c
index 3fd65ec..4af4cf3 100644
--- a/sys/fs/msdosfs/msdosfs_vfsops.c
+++ b/sys/fs/msdosfs/msdosfs_vfsops.c
@@ -986,7 +986,9 @@ static struct vfsops msdosfs_vfsops = {
msdosfs_fhtovp,
msdosfs_checkexp,
msdosfs_vptofh,
- msdosfs_init
+ msdosfs_init,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(msdosfs_vfsops, msdos, 0);
diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c
index 6bc0555..d4883be 100644
--- a/sys/fs/ntfs/ntfs_vfsops.c
+++ b/sys/fs/ntfs/ntfs_vfsops.c
@@ -1008,7 +1008,8 @@ static struct vfsops ntfs_vfsops = {
ntfs_checkexp,
ntfs_vptofh,
ntfs_init,
- NULL
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(ntfs_vfsops, ntfs, 0);
#elif defined(__NetBSD__)
diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c
index 1bdc083..cbeadc3 100644
--- a/sys/fs/nullfs/null_vfsops.c
+++ b/sys/fs/nullfs/null_vfsops.c
@@ -417,6 +417,19 @@ nullfs_vptofh(vp, fhp)
return VFS_VPTOFH(NULLVPTOLOWERVP(vp), fhp);
}
+static int
+nullfs_extattrctl(mp, cmd, attrname, arg, p)
+ struct mount *mp;
+ int cmd;
+ char *attrname;
+ caddr_t arg;
+ struct proc *p;
+{
+ return VFS_EXTATTRCTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, attrname,
+ arg, p);
+}
+
+
static struct vfsops null_vfsops = {
nullfs_mount,
nullfs_start,
@@ -430,6 +443,8 @@ static struct vfsops null_vfsops = {
nullfs_checkexp,
nullfs_vptofh,
nullfs_init,
+ vfs_stduninit,
+ nullfs_extattrctl,
};
VFS_SET(null_vfsops, null, VFCF_LOOPBACK);
diff --git a/sys/fs/nwfs/nwfs_vfsops.c b/sys/fs/nwfs/nwfs_vfsops.c
index f99bba7..5e7c597 100644
--- a/sys/fs/nwfs/nwfs_vfsops.c
+++ b/sys/fs/nwfs/nwfs_vfsops.c
@@ -93,7 +93,8 @@ static struct vfsops nwfs_vfsops = {
vfs_stdcheckexp,
vfs_stdvptofh, /* shouldn't happen */
nwfs_init,
- nwfs_uninit
+ nwfs_uninit,
+ vfs_stdextattrctl,
};
diff --git a/sys/fs/portalfs/portal_vfsops.c b/sys/fs/portalfs/portal_vfsops.c
index d750b53..950d383 100644
--- a/sys/fs/portalfs/portal_vfsops.c
+++ b/sys/fs/portalfs/portal_vfsops.c
@@ -256,6 +256,8 @@ static struct vfsops portal_vfsops = {
vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(portal_vfsops, portal, VFCF_SYNTHETIC);
diff --git a/sys/fs/procfs/procfs_vfsops.c b/sys/fs/procfs/procfs_vfsops.c
index 0533764..b1d4d43 100644
--- a/sys/fs/procfs/procfs_vfsops.c
+++ b/sys/fs/procfs/procfs_vfsops.c
@@ -172,6 +172,8 @@ static struct vfsops procfs_vfsops = {
vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(procfs_vfsops, procfs, VFCF_SYNTHETIC);
diff --git a/sys/fs/umapfs/umap_vfsops.c b/sys/fs/umapfs/umap_vfsops.c
index 48894fe..6e0c0b6 100644
--- a/sys/fs/umapfs/umap_vfsops.c
+++ b/sys/fs/umapfs/umap_vfsops.c
@@ -75,6 +75,9 @@ static int umapfs_unmount __P((struct mount *mp, int mntflags,
static int umapfs_vget __P((struct mount *mp, ino_t ino,
struct vnode **vpp));
static int umapfs_vptofh __P((struct vnode *vp, struct fid *fhp));
+static int umapfs_extattrctl __P((struct mount *mp, int cmd,
+ char *attrname, caddr_t arg,
+ struct proc *p));
/*
* Mount umap layer
@@ -430,6 +433,19 @@ umapfs_vptofh(vp, fhp)
return (VFS_VPTOFH(UMAPVPTOLOWERVP(vp), fhp));
}
+static int
+umapfs_extattrctl(mp, cmd, attrname, arg, p)
+ struct mount *mp;
+ int cmd;
+ char *attrname;
+ caddr_t arg;
+ struct proc *p;
+{
+ return (VFS_EXTATTRCTL(MOUNTTOUMAPMOUNT(mp)->umapm_vfs, cmd, attrname,
+ arg, p));
+}
+
+
static struct vfsops umap_vfsops = {
umapfs_mount,
umapfs_start,
@@ -443,6 +459,8 @@ static struct vfsops umap_vfsops = {
umapfs_checkexp,
umapfs_vptofh,
umapfs_init,
+ vfs_stduninit,
+ umapfs_extattrctl,
};
VFS_SET(umap_vfsops, umap, VFCF_LOOPBACK);
diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c
index f5782fa..8b58e55 100644
--- a/sys/fs/unionfs/union_vfsops.c
+++ b/sys/fs/unionfs/union_vfsops.c
@@ -502,6 +502,8 @@ static struct vfsops union_vfsops = {
vfs_stdcheckexp,
vfs_stdvptofh,
union_init,
+ vfs_stduninit,
+ vfs_stdextattrctl,
};
VFS_SET(union_vfsops, union, VFCF_LOOPBACK);
OpenPOWER on IntegriCloud