gpt4 book ai didi

c - setxattr 失败,操作不受支持

转载 作者:可可西里 更新时间:2023-11-01 11:49:47 25 4
gpt4 key购买 nike

我正在尝试按如下方式设置文件属性:

  1. 创建具有 0644 权限的文件 foo.txt
  2. 当我尝试为此设置 xattr 时

    if (setxattr("foo.txt", "user.test", "test", 4, XATTR_CREATE) == -1)
    perror("");

我收到错误消息,因为操作不受支持

有什么要启用的吗?如何解决?

最佳答案

来自 setxattr

RETURN VALUE

   On success, zero is returned.  On failure, -1 is returned and errno is set
appropriately.
...
If extended attributes are not supported by the file system, or are disabled,
errno is set to ENOTSUP.

因此,要么您的文件系统不支持扩展属性(例如 ext[234]、cifs、btrfs 支持),要么它们在内核构建或挂载时被禁用。

对于 NFS,在内核配置中没有单独的开关来启用扩展属性。从源代码 fs/nfs/dir.c 看来,当您启用对 CONFIG_NFS_V3CONFIG_NFS_V4 的支持时,它似乎已启用。但是 NFS 仍然依赖于底层文件系统。因此,您还必须在服务器端启用扩展属性。

来自 man mount

Mount options for ext2
...
user_xattr|nouser_xattr
Support "user." extended attributes (or not).

关于c - setxattr 失败,操作不受支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14872453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com