btrfs xattr 实际允许的最大大小是多少?我尝试在几个系统上对此进行测试,并得到完全不同的结果(在 11kB 和 15kB 之间),所以我不确定实际上是什么决定了这个大小以及我是否能够在分配之前验证它? (暴力二分搜索除外)
答案1
从man xattr
内核和文件系统都可以限制 xattr 的最大数量/大小
grep XATTR /usr/include/linux/limits.h
#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */
对于 btrfs
在 Btrfs、XFS 和 Reiserfs 文件系统实现中,与文件关联的扩展属性的数量没有实际限制,并且用于在磁盘上存储扩展属性信息的算法是可扩展的
和
在 Btrfs 文件系统实现中,用于名称、值和实现开销字节的总字节数仅限于文件系统节点大小值(默认为 16 kB)。