Lines Matching refs:i_xattrs

454 	p = &ci->i_xattrs.index.rb_node;
503 ci->i_xattrs.count++;
504 dout("__set_xattr count=%d\n", ci->i_xattrs.count);
515 ci->i_xattrs.names_size -= xattr->name_len;
516 ci->i_xattrs.vals_size -= xattr->val_len;
518 ci->i_xattrs.names_size += name_len;
519 ci->i_xattrs.vals_size += val_len;
531 rb_insert_color(&xattr->node, &ci->i_xattrs.index);
550 p = &ci->i_xattrs.index.rb_node;
591 rb_erase(&xattr->node, &ci->i_xattrs.index);
598 ci->i_xattrs.names_size -= xattr->name_len;
599 ci->i_xattrs.vals_size -= xattr->val_len;
600 ci->i_xattrs.count--;
612 p = rb_first(&ci->i_xattrs.index);
613 dout("__copy_xattr_names count=%d\n", ci->i_xattrs.count);
621 xattr->name_len, ci->i_xattrs.names_size);
635 p = rb_first(&ci->i_xattrs.index);
645 rb_erase(tmp, &ci->i_xattrs.index);
650 ci->i_xattrs.names_size = 0;
651 ci->i_xattrs.vals_size = 0;
652 ci->i_xattrs.index_version = 0;
653 ci->i_xattrs.count = 0;
654 ci->i_xattrs.index = RB_ROOT;
673 ci->i_xattrs.blob ? (int)ci->i_xattrs.blob->vec.iov_len : 0);
675 if (ci->i_xattrs.index_version >= ci->i_xattrs.version)
682 if (ci->i_xattrs.blob && ci->i_xattrs.blob->vec.iov_len > 4) {
683 p = ci->i_xattrs.blob->vec.iov_base;
684 end = p + ci->i_xattrs.blob->vec.iov_len;
686 xattr_version = ci->i_xattrs.version;
703 if (ci->i_xattrs.version != xattr_version) {
729 ci->i_xattrs.index_version = ci->i_xattrs.version;
730 ci->i_xattrs.dirty = false;
741 ci->i_xattrs.names_size = 0;
752 int size = 4 + ci->i_xattrs.count*(4 + 4) +
753 ci->i_xattrs.names_size +
754 ci->i_xattrs.vals_size;
756 ci->i_xattrs.count, ci->i_xattrs.names_size,
757 ci->i_xattrs.vals_size);
767 * and swap into place. It returns the old i_xattrs.blob (or NULL) so
779 if (ci->i_xattrs.dirty) {
782 BUG_ON(need > ci->i_xattrs.prealloc_blob->alloc_len);
784 p = rb_first(&ci->i_xattrs.index);
785 dest = ci->i_xattrs.prealloc_blob->vec.iov_base;
787 ceph_encode_32(&dest, ci->i_xattrs.count);
802 ci->i_xattrs.prealloc_blob->vec.iov_len =
803 dest - ci->i_xattrs.prealloc_blob->vec.iov_base;
805 if (ci->i_xattrs.blob)
806 old_blob = ci->i_xattrs.blob;
807 ci->i_xattrs.blob = ci->i_xattrs.prealloc_blob;
808 ci->i_xattrs.prealloc_blob = NULL;
809 ci->i_xattrs.dirty = false;
810 ci->i_xattrs.version++;
864 ci->i_xattrs.version, ci->i_xattrs.index_version);
866 if (ci->i_xattrs.version == 0 ||
923 ci->i_xattrs.version, ci->i_xattrs.index_version);
925 if (ci->i_xattrs.version == 0 ||
939 namelen = ci->i_xattrs.names_size + ci->i_xattrs.count;
1008 dout("xattr.ver (before): %lld\n", ci->i_xattrs.version);
1011 dout("xattr.ver (after): %lld\n", ci->i_xattrs.version);
1077 if (ci->i_xattrs.version == 0 || !(issued & CEPH_CAP_XATTR_EXCL))
1096 if (!ci->i_xattrs.prealloc_blob ||
1097 required_blob_size > ci->i_xattrs.prealloc_blob->alloc_len) {
1108 if (ci->i_xattrs.prealloc_blob)
1109 old_blob = ci->i_xattrs.prealloc_blob;
1110 ci->i_xattrs.prealloc_blob = blob;
1120 ci->i_xattrs.dirty = true;
1204 !(ci->i_xattrs.version > 0 &&