summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs/ffs_vfsops.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-08-13 10:33:57 +0000
committerphk <phk@FreeBSD.org>2002-08-13 10:33:57 +0000
commit088460429a355d729101729f71fe08a18a6ca4d9 (patch)
tree02528fd72a5e561267b5f7198275d6af725ecd0f /sys/ufs/ffs/ffs_vfsops.c
parent4eec5270bc9cd0c403c10898e54678948a2472dc (diff)
downloadFreeBSD-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.c21
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
+}
OpenPOWER on IntegriCloud