diff options
author | phk <phk@FreeBSD.org> | 2002-08-13 10:33:57 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-08-13 10:33:57 +0000 |
commit | 088460429a355d729101729f71fe08a18a6ca4d9 (patch) | |
tree | 02528fd72a5e561267b5f7198275d6af725ecd0f /sys/ufs/ffs/ffs_vfsops.c | |
parent | 4eec5270bc9cd0c403c10898e54678948a2472dc (diff) | |
download | FreeBSD-src-088460429a355d729101729f71fe08a18a6ca4d9.zip FreeBSD-src-088460429a355d729101729f71fe08a18a6ca4d9.tar.gz |
Unravel the UFS_EXTATTR incest between FFS and UFS: UFS_EXTATTR is an
UFS only thing, and FFS should in principle not know if it is enabled
or not.
This commit cleans ffs_vnops.c for such knowledge, but not ffs_vfsops.c
Sponsored by: DARPA and NAI Labs.
Diffstat (limited to 'sys/ufs/ffs/ffs_vfsops.c')
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 18fa4b8..5f87f32 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -74,6 +74,7 @@ static void ffs_oldfscompat_read(struct fs *, struct ufsmount *, static void ffs_oldfscompat_write(struct fs *, struct ufsmount *); static vfs_init_t ffs_init; static vfs_uninit_t ffs_uninit; +static vfs_extattrctl_t ffs_extattrctl; static struct vfsops ufs_vfsops = { ffs_mount, @@ -89,11 +90,7 @@ static struct vfsops ufs_vfsops = { ffs_vptofh, ffs_init, ffs_uninit, -#ifdef UFS_EXTATTR - ufs_extattrctl, -#else - vfs_stdextattrctl, -#endif + ffs_extattrctl, }; VFS_SET(ufs_vfsops, ufs, 0); @@ -1453,3 +1450,17 @@ ffs_sbupdate(mp, waitfor) allerror = error; return (allerror); } + +static int +ffs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, + int attrnamespace, const char *attrname, struct thread *td) +{ + +#ifdef UFS_EXTATTR + return (ufs_extattrctl(mp, cmd, filename_vp, attrnamespace, + attrname, td)); +#else + return (vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, + attrname, td)); +#endif +} |