2008-08-03 18:44:38

by Adrian Bunk

[permalink] [raw]
Subject: [2.6 patch] FS_MBCACHE: don't needlessly make it built-in

Assume you have:
- one or more of ext2/3/4 statically built into your kernel
- none of these with extended attributes enabled and
- want to add onother one of ext2/3/4 modular and with
extended attributes enabled

then you currently have to reboot to use it since this results in
CONFIG_FS_MBCACHE=y.

That's not a common issue, but I just ran into it and since there's no
reason to get a built-in mbcache in this case this patch fixes it.

Signed-off-by: Adrian Bunk <[email protected]>

---
8eb5eb7496002855dfcb9dda31c9390fb9d625e5
diff --git a/fs/Kconfig b/fs/Kconfig
index d387358..4e94ee8 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -270,9 +270,10 @@ config JBD2_DEBUG
config FS_MBCACHE
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
tristate
- depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR
- default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
- default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m
+ default y if EXT2_FS=y && EXT2_FS_XATTR
+ default y if EXT3_FS=y && EXT3_FS_XATTR
+ default y if EXT4DEV_FS=y && EXT4DEV_FS_XATTR
+ default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR

config REISERFS_FS
tristate "Reiserfs support"



2008-08-17 19:04:17

by Andreas Dilger

[permalink] [raw]
Subject: Re: [2.6 patch] FS_MBCACHE: don't needlessly make it built-in

On Aug 03, 2008 21:43 +0300, Adrian Bunk wrote:
> Assume you have:
> - one or more of ext2/3/4 statically built into your kernel
> - none of these with extended attributes enabled and
> - want to add onother one of ext2/3/4 modular and with
> extended attributes enabled
>
> then you currently have to reboot to use it since this results in
> CONFIG_FS_MBCACHE=y.
>
> That's not a common issue, but I just ran into it and since there's no
> reason to get a built-in mbcache in this case this patch fixes it.

To be honest, I'd like an option to disable MBCACHE entirely. This
code is of no use if the EAs on an inode are not identical (i.e. if
anything other than ACLs are in use) and is also not useful if the
xattrs fit into the large inodes in ext4 (and ext3 if the filesystem
is formatted with this option).

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.


2008-08-18 03:22:26

by Eric Sandeen

[permalink] [raw]
Subject: Re: [2.6 patch] FS_MBCACHE: don't needlessly make it built-in

Andreas Dilger wrote:
> On Aug 03, 2008 21:43 +0300, Adrian Bunk wrote:
>> Assume you have:
>> - one or more of ext2/3/4 statically built into your kernel
>> - none of these with extended attributes enabled and
>> - want to add onother one of ext2/3/4 modular and with
>> extended attributes enabled
>>
>> then you currently have to reboot to use it since this results in
>> CONFIG_FS_MBCACHE=y.
>>
>> That's not a common issue, but I just ran into it and since there's no
>> reason to get a built-in mbcache in this case this patch fixes it.
>
> To be honest, I'd like an option to disable MBCACHE entirely. This
> code is of no use if the EAs on an inode are not identical (i.e. if
> anything other than ACLs are in use)

or selinux....

> and is also not useful if the
> xattrs fit into the large inodes in ext4 (and ext3 if the filesystem
> is formatted with this option).

... which is now the default.

a config option sounds reasonable to me, too. I think by the time EAs
spill out of the inode, the chance of them being identical is pretty
small? (i.e. a single acl set, or selinux context may be common, but if
you have enough to not fit in the inode it's more likely to be a
mishmash of things?)

-Eric


> Cheers, Andreas
> --
> Andreas Dilger
> Sr. Staff Engineer, Lustre Group
> Sun Microsystems of Canada, Inc.