diff options
author | rwatson <rwatson@FreeBSD.org> | 1999-12-19 06:08:07 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 1999-12-19 06:08:07 +0000 |
commit | 4b6baecfc724bac12be9de99924e828b1e68046e (patch) | |
tree | ccf64e27cf5f979dcaaf7e55bb2a486df8b3f567 /sys/fs | |
parent | 114c517da1a1c0bab8d9fa884b67102ec0768fa1 (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/fs/coda/coda_vfsops.c | 4 | ||||
-rw-r--r-- | sys/fs/fdescfs/fdesc_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/hpfs/hpfs_vfsops.c | 3 | ||||
-rw-r--r-- | sys/fs/msdosfs/msdosfs_vfsops.c | 4 | ||||
-rw-r--r-- | sys/fs/ntfs/ntfs_vfsops.c | 3 | ||||
-rw-r--r-- | sys/fs/nullfs/null_vfsops.c | 15 | ||||
-rw-r--r-- | sys/fs/nwfs/nwfs_vfsops.c | 3 | ||||
-rw-r--r-- | sys/fs/portalfs/portal_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/procfs/procfs_vfsops.c | 2 | ||||
-rw-r--r-- | sys/fs/umapfs/umap_vfsops.c | 18 | ||||
-rw-r--r-- | sys/fs/unionfs/union_vfsops.c | 2 |
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); |