fs/Kconfig: more consistent configuration of XFS
PATCH 1/1 fs/Kconfig: more consistent configuration of XFS
hello,
At the moment, the configuration interface of Filesystem is not very consistent:
- All other filesystem configurations (like Reiserfs, JFS, ext3,...) is in fs/Kconfig, but only XFS is in a separate file fs/xfs/Kconfig
- All other filesystem configuration is processed in the same screen (using a kind of drop-down interface), but XFS configuration is done in a separate screen.
Here is the patch to fix the problem: it moves XFS configuration from fs/xfs/Kconfig to fs/Kconfig, makes it to do all the configuration in the same screen (by removing "menu" directive), and removes the unnecessary fs/xfs/Kconfig.
This patch is against 2.6.12-rc3. Please apply.
# diffstat makefile.fs.patch Kconfig | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ xfs/Kconfig | 85 ------------------------------------------------------------ 2 files changed, 81 insertions(+), 86 deletions(-)
2.6.12-rc3/fs/Kconfig +81 -1
@@ -304,7 +304,87 @@ config FS_POSIX_ACL depends on EXT2_FS_POSIX_ACL || EXT3_FS_POSIX_ACL || JFS_POSIX_ACL || REISERFS_FS_POSIX_ACL || NFSD_V4 default y -source "fs/xfs/Kconfig" +config XFS_FS + tristate "XFS filesystem support" + select EXPORTFS if NFSD!=n + help + XFS is a high performance journaling filesystem which originated + on the SGI IRIX platform. It is completely multi-threaded, can + support large files and large filesystems, extended attributes, + variable block sizes, is extent based, and makes extensive use of + Btrees (directories, extents, free space) to aid both performance + and scalability. + + Refer to the documentation at <http://oss.sgi.com/projects/xfs/> + for complete details. This implementation is on-disk compatible + with the IRIX version of XFS. + + To compile this file system support as a module, choose M here: the + module will be called xfs. Be aware, however, that if the file + system of your root partition is compiled as a module, you'll need + to use an initial ramdisk (initrd) to boot. + +config XFS_RT + bool "Realtime support (EXPERIMENTAL)" + depends on XFS_FS && EXPERIMENTAL + help + If you say Y here you will be able to mount and use XFS filesystems + which contain a realtime subvolume. The realtime subvolume is a + separate area of disk space where only file data is stored. The + realtime subvolume is designed to provide very deterministic + data rates suitable for media streaming applications. + + See the xfs man page in section 5 for a bit more information. + + This feature is unsupported at this time, is not yet fully + functional, and may cause serious problems. + + If unsure, say N. + +config XFS_QUOTA + bool "Quota support" + depends on XFS_FS + help + If you say Y here, you will be able to set limits for disk usage on + a per user and/or a per group basis under XFS. XFS considers quota + information as filesystem metadata and uses journaling to provide a + higher level guarantee of consistency. The on-disk data format for + quota is also compatible with the IRIX version of XFS, allowing a + filesystem to be migrated between Linux and IRIX without any need + for conversion. + + If unsure, say N. More comprehensive documentation can be found in + README.quota in the xfsprogs package. XFS quota can be used either + with or without the generic quota support enabled (CONFIG_QUOTA) - + they are completely independent subsystems. + +config XFS_SECURITY + bool "Security Label support" + depends on XFS_FS + help + Security labels support alternative access control models + implemented by security modules like SELinux. This option + enables an extended attribute namespace for inode security + labels in the XFS filesystem. + + If you are not using a security module that requires using + extended attributes for inode security labels, say N. + +config XFS_POSIX_ACL + bool "POSIX ACL support" + depends on XFS_FS + help + POSIX Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + To learn more about Access Control Lists, visit the POSIX ACLs for + Linux website <http://acl.bestbits.at/>. + + If you don't know what Access Control Lists are, say N. + +config XFS_EXPORT + bool + default y if XFS_FS && EXPORTFS config MINIX_FS tristate "Minix fs support"
2.6.12-rc3/fs/xfs/Kconfig +0 -85
85 lines not on this page · raw message
Quoted 4 lines · aq
Here is the patch to fix the problem: it moves XFS configuration from
fs/xfs/Kconfigto fs/Kconfig, makes it to do all the configuration in the same screen (by removing "menu" directive), and removes the unnecessaryfs/xfs/Kconfig.
XFS has several more configuration option not in the mainline tree. Doing this makes keeping things in sync harder.
Quoted 10 lines · aq
hello,
At the moment, the configuration interface of Filesystem is not very consistent:
- All other filesystem configurations (like Reiserfs, JFS, ext3,...) is in fs/Kconfig, but only XFS is in a separate file
fs/xfs/Kconfig
- All other filesystem configuration is processed in the same screen (using a kind of drop-down interface), but XFS configuration is done in a separate screen.
Quoted 4 lines
Here is the patch to fix the problem: it moves XFS configuration from
fs/xfs/Kconfigto fs/Kconfig, makes it to do all the configuration in the same screen (by removing "menu" directive), and removes the unnecessaryfs/xfs/Kconfig.
The screen bits is fine, btu please keep fs/xfs/Kconfig. It make maintaince a lot a easier for us XFS people.
Quoted 11 lines · Christoph Hellwig
Quoted 10 lines · aq
hello,
At the moment, the configuration interface of Filesystem is not very consistent:
- All other filesystem configurations (like Reiserfs, JFS, ext3,...) is in fs/Kconfig, but only XFS is in a separate file
fs/xfs/Kconfig
- All other filesystem configuration is processed in the same screen (using a kind of drop-down interface), but XFS configuration is done in a separate screen.
Quoted 9 lines
Quoted 4 lines
Here is the patch to fix the problem: it moves XFS configuration from
fs/xfs/Kconfigto fs/Kconfig, makes it to do all the configuration in the same screen (by removing "menu" directive), and removes the unnecessaryfs/xfs/Kconfig.The screen bits is fine, btu please keep
fs/xfs/Kconfig. It make maintaince a lot a easier for us XFS people.
I dont see why we should keep a file in kernel tree without using it (since the patch removes "source xfs/Kconfig). Anyway, here is another patch that doesnt remove fs/xfs/Kconfig.
Also note that this patch (and the last one, too) moves "config XFS_EXPOR" to the bottom, so the menu intems aligns better and consistently with others (like what Reiserfs, JFS,... are doing)
Andrew, please pick one of these two. Thank you.
# diffstat makefile.fs2.patch Kconfig | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81 insertions(+), 1 deletion(-)
2.6.12-rc3/fs/Kconfig +81 -1
@@ -304,7 +304,87 @@ config FS_POSIX_ACL depends on EXT2_FS_POSIX_ACL || EXT3_FS_POSIX_ACL || JFS_POSIX_ACL || REISERFS_FS_POSIX_ACL || NFSD_V4 default y -source "fs/xfs/Kconfig" +config XFS_FS + tristate "XFS filesystem support" + select EXPORTFS if NFSD!=n + help + XFS is a high performance journaling filesystem which originated + on the SGI IRIX platform. It is completely multi-threaded, can + support large files and large filesystems, extended attributes, + variable block sizes, is extent based, and makes extensive use of + Btrees (directories, extents, free space) to aid both performance + and scalability. + + Refer to the documentation at <http://oss.sgi.com/projects/xfs/> + for complete details. This implementation is on-disk compatible + with the IRIX version of XFS. + + To compile this file system support as a module, choose M here: the + module will be called xfs. Be aware, however, that if the file + system of your root partition is compiled as a module, you'll need + to use an initial ramdisk (initrd) to boot. + +config XFS_RT + bool "Realtime support (EXPERIMENTAL)" + depends on XFS_FS && EXPERIMENTAL + help + If you say Y here you will be able to mount and use XFS filesystems + which contain a realtime subvolume. The realtime subvolume is a + separate area of disk space where only file data is stored. The + realtime subvolume is designed to provide very deterministic + data rates suitable for media streaming applications. + + See the xfs man page in section 5 for a bit more information. + + This feature is unsupported at this time, is not yet fully + functional, and may cause serious problems. + + If unsure, say N. + +config XFS_QUOTA + bool "Quota support" + depends on XFS_FS + help + If you say Y here, you will be able to set limits for disk usage on + a per user and/or a per group basis under XFS. XFS considers quota + information as filesystem metadata and uses journaling to provide a + higher level guarantee of consistency. The on-disk data format for + quota is also compatible with the IRIX version of XFS, allowing a + filesystem to be migrated between Linux and IRIX without any need + for conversion. + + If unsure, say N. More comprehensive documentation can be found in + README.quota in the xfsprogs package. XFS quota can be used either + with or without the generic quota support enabled (CONFIG_QUOTA) - + they are completely independent subsystems. + +config XFS_SECURITY + bool "Security Label support" + depends on XFS_FS + help + Security labels support alternative access control models + implemented by security modules like SELinux. This option + enables an extended attribute namespace for inode security + labels in the XFS filesystem. + + If you are not using a security module that requires using + extended attributes for inode security labels, say N. + +config XFS_POSIX_ACL + bool "POSIX ACL support" + depends on XFS_FS + help + POSIX Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + To learn more about Access Control Lists, visit the POSIX ACLs for + Linux website <http://acl.bestbits.at/>. + + If you don't know what Access Control Lists are, say N. + +config XFS_EXPORT + bool + default y if XFS_FS && EXPORTFS config MINIX_FS tristate "Minix fs support"
Quoted 3 lines · aq
I dont see why we should keep a file in kernel tree without using it (since the patch removes "source xfs/Kconfig). Anyway, here is another patch that doesnt remove
fs/xfs/Kconfig.
No, you should not remove usage of it either.
Quoted 7 lines · Christoph Hellwig
Quoted 3 lines · aq
I dont see why we should keep a file in kernel tree without using it (since the patch removes "source xfs/Kconfig). Anyway, here is another patch that doesnt remove
fs/xfs/Kconfig.No, you should not remove usage of it either.
OK, here is another patch. It is up to Andrew to pick the approriate. But I still prefer the first patch, which provides both consistency in interface and configuration.
What this patch does:
- Remove "menu" directive from fs/xfs/Kconfig, so XFS configuration is done in the same screen as other filesystems.
- Move "config XFS_EXPORT " to the bottom, so the menu items aligns better and consistent with others.
# diffstat makefile.fs3.patch Kconfig | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-)
2.6.12-rc3/fs/xfs/Kconfig +4 -7
@@ -1,5 +1,3 @@ -menu "XFS support" - config XFS_FS tristate "XFS filesystem support" select EXPORTFS if NFSD!=n
@@ -20,10 +18,6 @@ config XFS_FS system of your root partition is compiled as a module, you'll need to use an initial ramdisk (initrd) to boot. -config XFS_EXPORT - bool - default y if XFS_FS && EXPORTFS - config XFS_RT bool "Realtime support (EXPERIMENTAL)" depends on XFS_FS && EXPERIMENTAL
@@ -82,4 +76,7 @@ config XFS_POSIX_ACL If you don't know what Access Control Lists are, say N. -endmenu +config XFS_EXPORT + bool + default y if XFS_FS && EXPORTFS +
Quoted 4 lines · aq
OK, here is another patch. It is up to Andrew to pick the approriate. But I still prefer the first patch, which provides both consistency in interface and configuration.
We shall do out best to distribute info to places where it belongs. A much better approch would be to move all ext2 + ext3 stuff out in their respective directories.
When modifying xfs (or ext2,ext3) no files outside their respective directories should in need to be touched - this would just impose additional burden doing parrallel development.
About your modifications:
Skipping the menu part is OK.
While you are modifying Kconfig in xfs/ put a
if XFS_FS
...
endif
around all config options expcept the one defining the XFS_FS option. This will fix menu identing.
Sam
Quoted 6 lines · Sam Ravnborg
Quoted 4 lines · aq
OK, here is another patch. It is up to Andrew to pick the approriate. But I still prefer the first patch, which provides both consistency in interface and configuration.
Quoted 6 lines
We shall do out best to distribute info to places where it belongs. A much better approch would be to move all ext2 + ext3 stuff out in their respective directories.
When modifying xfs (or ext2,ext3) no files outside their respective directories should in need to be touched - this would just impose additional burden doing parrallel development.
OK, I agree.
Quoted 6 lines
About your modifications:
Skipping the menu part is OK.
While you are modifyingKconfigin xfs/ put a
Quoted 6 lines
if
XFS_FS
...
endifaround all config options expcept the one defining the
XFS_FSoption. This will fix menu identing.
Thanks for pointing this out. But the patch I posted is fair enough. It just move one menu item around, and change nothing else. Are you happy with it?
regards,
aq
Quoted 11 lines · aq
Quoted 11 lines
About your modifications:
Skipping the menu part is OK.
While you are modifyingKconfigin xfs/ put aif
XFS_FS
...
endif
Quoted 6 lines
Quoted 2 lines
around all config options expcept the one defining the
XFS_FSoption. This will fix menu identing.Thanks for pointing this out. But the patch I posted is fair enough. It just move one menu item around, and change nothing else. Are you happy with it?
If indention is OK for all menu entries in XFS - yes. Otherwise not. I haven't tested it.
Sam
Quoted 12 lines · Sam Ravnborg
Quoted 11 lines · aq
Quoted 11 lines
About your modifications:
Skipping the menu part is OK.
While you are modifyingKconfigin xfs/ put aif
XFS_FS
...
endif
Quoted 7 lines
Quoted 6 lines
Quoted 2 lines
around all config options expcept the one defining the
XFS_FSoption. This will fix menu identing.Thanks for pointing this out. But the patch I posted is fair enough. It just move one menu item around, and change nothing else. Are you happy with it?
If indention is OK for all menu entries in XFS - yes. Otherwise not.
I have tested it. Identation is fine.
regards,
aq