From 2e128b8ced590ff3b8fb1b532f86dfdfb8b40731 Mon Sep 17 00:00:00 2001 From: netchild Date: Wed, 9 Feb 2011 15:33:13 +0000 Subject: [PATCH] Add some FEATURE macros for some UFS features. SU+J is not included as a FEATURE macro: - it was not in the tree during the GSoC - I do not see an option to en-/disable it in NOTES Two minor changes where made during the review compared to what was developed during GSoC 2010. No FreeBSD version bump, the userland application to query the features will be committed last and can serve as an indication of the availablility if needed. Sponsored by: Google Summer of Code 2010 Submitted by: kibab Reviewed by: kib X-MFC after: to be determined in last commit with code from this project --- sys/ufs/ffs/ffs_snapshot.c | 1 + sys/ufs/ffs/ffs_softdep.c | 3 +++ sys/ufs/ufs/ufs_acl.c | 2 ++ sys/ufs/ufs/ufs_vnops.c | 11 +++++++++++ 4 files changed, 17 insertions(+) diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index f6548a385eb2..968be8a9f8ca 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -124,6 +124,7 @@ ffs_copyonwrite(devvp, bp) } #else +FEATURE(ffs_snapshot, "FFS snapshot support"); TAILQ_HEAD(snaphead, inode); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 0e790d631fcb..3656342173d1 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -575,6 +575,9 @@ softdep_get_depcounts(struct mount *mp, } #else + +FEATURE(softupdates, "FFS soft-updates support"); + /* * These definitions need to be adapted to the system to which * this file is being ported. diff --git a/sys/ufs/ufs/ufs_acl.c b/sys/ufs/ufs/ufs_acl.c index 8ed1c0b2110c..11794517f71a 100644 --- a/sys/ufs/ufs/ufs_acl.c +++ b/sys/ufs/ufs/ufs_acl.c @@ -57,6 +57,8 @@ __FBSDID("$FreeBSD$"); #ifdef UFS_ACL +FEATURE(ufs_acl, "ACL support for UFS"); + /* * Synchronize an ACL and an inode by copying over appropriate inode fields * to the passed ACL. Assumes an ACL that would satisfy acl_posix1e_check(), diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index c396910123a5..daa6db8f51c0 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -82,8 +82,19 @@ __FBSDID("$FreeBSD$"); #endif #ifdef UFS_GJOURNAL #include +FEATURE(ufs_gjournal, "Journaling support through GEOM for UFS"); #endif +#ifdef QUOTA +FEATURE(ufs_quota, "UFS disk quotas support"); +FEATURE(ufs_quota64, "64bit UFS disk quotas support"); +#endif + +#ifdef SUIDDIR +FEATURE(suiddir, "Give all new files in directory the same ownership as the directory"); +#endif + + #include static vop_accessx_t ufs_accessx;