我正在处理内核模块参数,发现自己有点困惑。
具体来说,我试图为 XFS 文件系统启用 posix ACL 支持。这要求加载 XFS 模块并将参数XFS_POSIX_ACL
设置为 yes。如果没有该参数,尝试使用“setfacl”设置 ACL 会导致“操作不受支持”错误。
在测试环境中,我运行了命令“modprobe -v xfs XFS_POSIX_ACL=y”。尽管现在知道您需要先删除模块,然后才能设置参数,但此命令出现了已经成功运行。运行后,我成功地运行了“setfacl”,设置了一些 ACL,并测试了它们的全部功能。
不过,转到生产环境,结果显示 - 这并不奇怪 - 仅仅运行“modprobe -v xfs XFS_POSIX_ACL=y”似乎无法启用 ACL 支持,这可能是因为我没有先卸载模块。运行该命令不会产生任何输出,并且尝试设置 ACL 会导致“操作不受支持”错误。
我遇到的问题是,回到我的测试环境并尝试“正确切换参数开关”后,运行modprobe -r xfs
“modprobe -v xfs XFS_POSIX_ACL=n“不会关闭 ACL 支持。我已在详细模式下运行 modprobe -r,模块实际上已被卸载 (rmmod /lib/modules/...xfs.ko),但将 ACL 参数设置为 NO 后重新加载模块则没有任何效果。
知道我可能做错了什么吗?
RHEL 4.9,2.6.9-89
更新
看来我的参数有误。运行 modprobe xfs XFS_POSIX_ACL=N 后查看 dmesg:
xfs: Unknown parameter `XFS_POSIX_ACL'
SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
SGI XFS Quota Management subsystem
我在这里找到了 ACL 参数: http://how-to.wikia.com/wiki/How_to_configure_the_Linux_kernel/fs/xfs
知道正确的参数是什么吗?modinfo -p xfs 没有返回任何内容,我花了好长时间才在网上找到它。
答案1
@John K:您上面发布的链接中的所有选项都不是xfs
模块的参数,而是依赖选项。
xfs
模块有...没有参数:
# modinfo xfs
filename: /lib/modules/2.6.18-194.el5/kernel/fs/xfs/xfs.ko
license: GPL
description: SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
author: Silicon Graphics, Inc.
srcversion: DE0AE7E45DF5E1EA03F6EC6
depends:
vermagic: 2.6.18-194.el5 SMP mod_unload gcc-4.1
module_sig: 883f3504bb64522c596239a507de7fd112864709d128ea990dfa46df295317acd048b4a6cd39abde0a0beb9a93708040775f3bac9d185e1eb73cda7c
我所说的依赖关系是指:XFS 配额、ACL 等仅当您选择时才会展开。XFS 文件系统支持:
<M> XFS filesystem support
[ ] XFS Quota support
[*] XFS POSIX ACL support
[ ] XFS Realtime subvolume support
[ ] XFS Debugging support (EXPERIMENTAL)