Most importantly, capture that attrs on FileStore can't be more than about
100 chars. The Linux xattrs can only be 128 chars, but we also have some
prefixing we do.
Signed-off-by: Sage Weil <sage@redhat.com>
int mount();
int umount();
int get_max_object_name_length();
+ int get_max_attr_name_length() {
+ // xattr limit is 128; leave room for our prefixes (user.ceph._),
+ // some margin, and cap at 100
+ return 100;
+ }
int mkfs();
int mkjournal();
int mount();
int umount();
int get_max_object_name_length();
+ int get_max_attr_name_length() {
+ return 256; // arbitrary; there is no real limit internally
+ }
int mkfs();
int mkjournal() {return 0;}
int get_max_object_name_length() {
return 4096;
}
+ int get_max_attr_name_length() {
+ return 256; // arbitrary; there is no real limit internally
+ }
int mkfs();
int mkjournal() {
virtual int mount() = 0;
virtual int umount() = 0;
virtual int get_max_object_name_length() = 0;
+ virtual int get_max_attr_name_length() = 0;
virtual int mkfs() = 0; // wipe
virtual int mkjournal() = 0; // journal only
virtual void set_allow_sharded_objects() = 0;