You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which both don't really list or mention extended file attributes handling (xattrs).
I know btrfs can do xattrs, and ArchWiki mentions possible size-constraints, but I'm interested in the specific limits and settings for xattrs on btrfs 😄
I'm moving this as issue as question here, following advice from @kdave in btrfs/linux#1455
If anyone wants to talk about this or point me towards some code/docs, I'd be very grateful! 🍰
The text was updated successfully, but these errors were encountered:
XATTRS is stored with key (<inode number> XATTR_ITEM 0), its related data is btrfs_file_extent_item but only in the inline extent mode.
And xattrs are stored as inline data extents, meaning it's limited by two things:
Sector size
Inline data extent can not reach sector size. For most filesystems it's 4K.
This is just a soft limit, but will make kernel implementation much easier.
Inline data extent size
This is limited by node size (metadata size), since we're storing everything inside metadata.
This is a hard limit, but shouldn't cause any hassle because we're using 16KiB as node size for a long long time.
@adam900710 : This is great information, thank you!
Do I understand this correctly:
4k sector size:
Every xattr byte (all keys + all values) must stay below 4k?
"Soft limit" means: Theoretically adjustable - but not really tested or really laid out for?
"16kiB as node size"
I don't yet fully understand this.
Do you mean: Internally btrfs could handle up-to-16kiB xattrs - if the sector size would be that big?
So if I'd like to use xattrs like BeFS or HFS/APFS where even binary-data (eg images) are stored: would btrfs' defaults be capped to 4k in total right now?
Hello everyone 😄
It's about btrfs-documentation:
I'd like to ask about technical details on extended attributes (xattrs) on btrfs, and found these pages:
Which both don't really list or mention extended file attributes handling (xattrs).
I know btrfs can do xattrs, and ArchWiki mentions possible size-constraints, but I'm interested in the specific limits and settings for xattrs on btrfs 😄
I'm moving this as issue as question here, following advice from @kdave in btrfs/linux#1455
If anyone wants to talk about this or point me towards some code/docs, I'd be very grateful! 🍰
The text was updated successfully, but these errors were encountered: