aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2011-07-13 23:17:39 -0400
committerChris Mason <chris.mason@oracle.com>2011-08-01 14:30:48 -0400
commit9b89d95a143bb0a9abc4ba0fdcdda78211930f1a (patch)
tree353768825b985753b23fda0ec88e7cc85bf83346 /fs/btrfs
parent15de900d08bb132833c8622610ddb1be660a6018 (diff)
Btrfs: make acl functions really no-op if acl is not enabled
So there's no overhead for something we don't use. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/Makefile4
-rw-r--r--fs/btrfs/acl.c17
-rw-r--r--fs/btrfs/ctree.h15
3 files changed, 15 insertions, 21 deletions
diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile
index 9b72dcf1cd25..40e6ac08c21f 100644
--- a/fs/btrfs/Makefile
+++ b/fs/btrfs/Makefile
@@ -6,5 +6,7 @@ btrfs-y += super.o ctree.o extent-tree.o print-tree.o root-tree.o dir-item.o \
6 transaction.o inode.o file.o tree-defrag.o \ 6 transaction.o inode.o file.o tree-defrag.o \
7 extent_map.o sysfs.o struct-funcs.o xattr.o ordered-data.o \ 7 extent_map.o sysfs.o struct-funcs.o xattr.o ordered-data.o \
8 extent_io.o volumes.o async-thread.o ioctl.o locking.o orphan.o \ 8 extent_io.o volumes.o async-thread.o ioctl.o locking.o orphan.o \
9 export.o tree-log.o acl.o free-space-cache.o zlib.o lzo.o \ 9 export.o tree-log.o free-space-cache.o zlib.o lzo.o \
10 compression.o delayed-ref.o relocation.o delayed-inode.o scrub.o 10 compression.o delayed-ref.o relocation.o delayed-inode.o scrub.o
11
12btrfs-$(CONFIG_BTRFS_FS_POSIX_ACL) += acl.o
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index f66fc9959733..b206d4c2720b 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -28,8 +28,6 @@
28#include "btrfs_inode.h" 28#include "btrfs_inode.h"
29#include "xattr.h" 29#include "xattr.h"
30 30
31#ifdef CONFIG_BTRFS_FS_POSIX_ACL
32
33static struct posix_acl *btrfs_get_acl(struct inode *inode, int type) 31static struct posix_acl *btrfs_get_acl(struct inode *inode, int type)
34{ 32{
35 int size; 33 int size;
@@ -318,18 +316,3 @@ const struct xattr_handler btrfs_xattr_acl_access_handler = {
318 .get = btrfs_xattr_acl_get, 316 .get = btrfs_xattr_acl_get,
319 .set = btrfs_xattr_acl_set, 317 .set = btrfs_xattr_acl_set,
320}; 318};
321
322#else /* CONFIG_BTRFS_FS_POSIX_ACL */
323
324int btrfs_acl_chmod(struct inode *inode)
325{
326 return 0;
327}
328
329int btrfs_init_acl(struct btrfs_trans_handle *trans,
330 struct inode *inode, struct inode *dir)
331{
332 return 0;
333}
334
335#endif /* CONFIG_BTRFS_FS_POSIX_ACL */
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 34ce4140bb41..a6263bdab818 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -2650,12 +2650,21 @@ do { \
2650/* acl.c */ 2650/* acl.c */
2651#ifdef CONFIG_BTRFS_FS_POSIX_ACL 2651#ifdef CONFIG_BTRFS_FS_POSIX_ACL
2652int btrfs_check_acl(struct inode *inode, int mask, unsigned int flags); 2652int btrfs_check_acl(struct inode *inode, int mask, unsigned int flags);
2653#else
2654#define btrfs_check_acl NULL
2655#endif
2656int btrfs_init_acl(struct btrfs_trans_handle *trans, 2653int btrfs_init_acl(struct btrfs_trans_handle *trans,
2657 struct inode *inode, struct inode *dir); 2654 struct inode *inode, struct inode *dir);
2658int btrfs_acl_chmod(struct inode *inode); 2655int btrfs_acl_chmod(struct inode *inode);
2656#else
2657#define btrfs_check_acl NULL
2658static inline int btrfs_init_acl(struct btrfs_trans_handle *trans,
2659 struct inode *inode, struct inode *dir)
2660{
2661 return 0;
2662}
2663static inline int btrfs_acl_chmod(struct inode *inode)
2664{
2665 return 0;
2666}
2667#endif
2659 2668
2660/* relocation.c */ 2669/* relocation.c */
2661int btrfs_relocate_block_group(struct btrfs_root *root, u64 group_start); 2670int btrfs_relocate_block_group(struct btrfs_root *root, u64 group_start);