New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update filestore-filesystem-compat.rst #286
Conversation
missing "not" in note about XFS xattrs.
iirc xfs actually does have a limit, but it is 64k and so it is rarely hit. we should make the rados api tests set 100k attrs to verify the osd is behaving properly... |
Looks like the story gets even more complicated Brian Behlendorf notes in this post: http://permalink.gmane.org/gmane.linux.file-systems.zfs.devel/75, that Linux limits individual name/value pairs to 64KB, that XFS (and ZFS) have no limit on the number of pairs per file. |
Nothing like testing assumptions. I just tried to set 100KB as a file extended attribute on an XFS filesystem and it only took 65536 (64KiB) bytes, but lets me set multiple attributes per file. So it would seem the various manual pages attr(1) xfs(5) are somewhat imprecise about what is imposing the limits. |
The osd is supposed to compensate in various ways for the fs xattr limitations. If you're up for it, we shoudl extend something in src/test/librados/* to set getting/setting small and large attrs on objects to make sure it is working.. |
Did more digging and can confirm that it is Linux that is enforcing the 64KiB limit, in setxattr() in http://lxr.free-electrons.com/source/fs/xattr.c it does a attribute size check against XATTR_SIZE_MAX which is defined in limits.h as 64KiB (http://lxr.free-electrons.com/source/include/uapi/linux/limits.h#L15) How large an attribute should we test for? and about how many is a reasonable number? I can have a go at making the test for it. |
The issue that we saw recently was with listxattr() that couldn't respond with more than 64k of data. With a large enough xattr this can be hit as we split it into multiple xattrs. |
i'm thinking we should make the big xattr spillover into leveldb the default, and just make the filestore detect these limits on startup to set good default values for the given fs.. and add some tests to ceph_test_rados_api_something to set large and many attrs to make sure things behave in the extreme. |
Calamari_setup now allows > 1 mon.
[SES5] rpm: add downstream-only ceph-qa-health-ok subpackage
Creates new case study: US Signal
…on (ceph#291) (ceph#292) * rgw_sal_motr: [CORTX-31877] Support Stat counting for Multipart & Obj OverWrite case (ceph#286) * rgw_sal_motr: [CORTX-31877] Support Stats for Multipart & Obj OverWrite case In multipart upload, each part upload increments the total object size by part size and count by one. When the complete multipart is called, the object count is reset to consider all parts as single object. On abort size of each part is subtracted and the object count is decremented by number of parts as well. Object overwrite case is also hanlded with the same PR which decrement the size of old obj and increment the size of new obj in case of unversioned bucket. Obj count will remain the same. * rgw_sal_motr: [CORTX-31877] handle stats on delete marker delete Delete marker creating does not increment the stats but deletion of delete marker was causing object count to go down by 1. Addressed the same by addition of a delete marker check. Signed-off-by: Sumedh Anantrao Kulkarni <sumedh.a.kulkarni@seagate.com> * rgw, rgw_sal_motr: [CORTX-31836] calculate actual size for all types of objects (ceph#287) Size Rounded is the actual size occupied by an object on disk including padding required as per the unit and block size. size_rounded parameter is added in bucket_dir_entry as well as in sal motr object and part related classes to store the calculated size. Signed-off-by: Sachin Punadikar <sachin.punadikar@seagate.com> Signed-off-by: Diwakar92 <diwakar.kumar@seagate.com> Signed-off-by: Sumedh Anantrao Kulkarni <sumedh.a.kulkarni@seagate.com>
Add a case for lifecycle expiration on versining enabled bucket. Reviewed-by: Casey Bodley <cbodley@redhat.com>
missing "not" in note about XFS xattrs.