summaryrefslogtreecommitdiffstats
path: root/sys/ufs/mfs
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2001-03-19 06:44:18 +0000
committerrwatson <rwatson@FreeBSD.org>2001-03-19 06:44:18 +0000
commitb777dece07e2bdb7cef7e2a30606b5106b9a43a1 (patch)
tree0b08edbb86d1ff68f0429b2abd50f7c4a313d3dd /sys/ufs/mfs
parentb4ebfdcb15d7daedf37d95268e7c83004f95ef20 (diff)
downloadFreeBSD-src-b777dece07e2bdb7cef7e2a30606b5106b9a43a1.zip
FreeBSD-src-b777dece07e2bdb7cef7e2a30606b5106b9a43a1.tar.gz
o Enable UFS-based extended attribute support on MFS. Note that this change
is under-tested, and that MFS appears to be in the process of being deprecated in favor of FFS over md. Note also that UFS_EXTATTR_AUTOSTART doesn't make much sense on MFS unless the MFSROOT is compiled in, so manual configuration is generally required. Obtained from: TrustedBSD Project
Diffstat (limited to 'sys/ufs/mfs')
-rw-r--r--sys/ufs/mfs/mfs_vfsops.c5
-rw-r--r--sys/ufs/mfs/mfs_vnops.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c
index c67d61e..1a5260d 100644
--- a/sys/ufs/mfs/mfs_vfsops.c
+++ b/sys/ufs/mfs/mfs_vfsops.c
@@ -36,6 +36,7 @@
#include "opt_mfs.h"
+#include "opt_ufs.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -111,7 +112,11 @@ static struct vfsops mfs_vfsops = {
ffs_vptofh,
mfs_init,
vfs_stduninit,
+#ifdef UFS_EXTATTR
+ ufs_extattrctl,
+#else
vfs_stdextattrctl,
+#endif
};
VFS_SET(mfs_vfsops, mfs, 0);
diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c
index 9912dfb..f69bb8d 100644
--- a/sys/ufs/mfs/mfs_vnops.c
+++ b/sys/ufs/mfs/mfs_vnops.c
@@ -34,6 +34,8 @@
* $FreeBSD$
*/
+#include "opt_ufs.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
@@ -45,6 +47,8 @@
#include <sys/sysproto.h>
#include <sys/mman.h>
+#include <ufs/ufs/extattr.h>
+
#include <ufs/mfs/mfsnode.h>
#include <ufs/mfs/mfs_extern.h>
@@ -72,6 +76,9 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_destroyvobject_desc, (vop_t *) vop_stddestroyvobject },
{ &vop_freeblks_desc, (vop_t *) mfs_freeblks },
{ &vop_fsync_desc, (vop_t *) mfs_fsync },
+#ifdef UFS_EXTATTR
+ { &vop_getextattr_desc, (vop_t *) ufs_vop_getextattr },
+#endif
{ &vop_getpages_desc, (vop_t *) mfs_getpages },
{ &vop_getvobject_desc, (vop_t *) vop_stdgetvobject },
{ &vop_inactive_desc, (vop_t *) mfs_inactive },
@@ -81,6 +88,9 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_open_desc, (vop_t *) mfs_open },
{ &vop_print_desc, (vop_t *) mfs_print },
{ &vop_reclaim_desc, (vop_t *) mfs_reclaim },
+#ifdef UFS_EXTATTR
+ { &vop_setextattr_desc, (vop_t *) ufs_vop_setextattr },
+#endif
{ &vop_strategy_desc, (vop_t *) mfs_strategy },
{ &vop_unlock_desc, (vop_t *) vop_defaultop },
{ &vop_getwritemount_desc, (vop_t *) vop_stdgetwritemount },
OpenPOWER on IntegriCloud