Lines Matching refs:i_xattrs

582 	p = &ci->i_xattrs.index.rb_node;
631 ci->i_xattrs.count++;
632 doutc(cl, "count=%d\n", ci->i_xattrs.count);
643 ci->i_xattrs.names_size -= xattr->name_len;
644 ci->i_xattrs.vals_size -= xattr->val_len;
646 ci->i_xattrs.names_size += name_len;
647 ci->i_xattrs.vals_size += val_len;
659 rb_insert_color(&xattr->node, &ci->i_xattrs.index);
681 p = &ci->i_xattrs.index.rb_node;
724 rb_erase(&xattr->node, &ci->i_xattrs.index);
731 ci->i_xattrs.names_size -= xattr->name_len;
732 ci->i_xattrs.vals_size -= xattr->val_len;
733 ci->i_xattrs.count--;
746 p = rb_first(&ci->i_xattrs.index);
747 doutc(cl, "count=%d\n", ci->i_xattrs.count);
755 xattr->name_len, ci->i_xattrs.names_size);
770 p = rb_first(&ci->i_xattrs.index);
779 rb_erase(tmp, &ci->i_xattrs.index);
784 ci->i_xattrs.names_size = 0;
785 ci->i_xattrs.vals_size = 0;
786 ci->i_xattrs.index_version = 0;
787 ci->i_xattrs.count = 0;
788 ci->i_xattrs.index = RB_ROOT;
808 ci->i_xattrs.blob ? (int)ci->i_xattrs.blob->vec.iov_len : 0);
810 if (ci->i_xattrs.index_version >= ci->i_xattrs.version)
817 if (ci->i_xattrs.blob && ci->i_xattrs.blob->vec.iov_len > 4) {
818 p = ci->i_xattrs.blob->vec.iov_base;
819 end = p + ci->i_xattrs.blob->vec.iov_len;
821 xattr_version = ci->i_xattrs.version;
838 if (ci->i_xattrs.version != xattr_version) {
864 ci->i_xattrs.index_version = ci->i_xattrs.version;
865 ci->i_xattrs.dirty = false;
876 ci->i_xattrs.names_size = 0;
889 int size = 4 + ci->i_xattrs.count*(4 + 4) +
890 ci->i_xattrs.names_size +
891 ci->i_xattrs.vals_size;
892 doutc(cl, "c=%d names.size=%d vals.size=%d\n", ci->i_xattrs.count,
893 ci->i_xattrs.names_size, ci->i_xattrs.vals_size);
903 * and swap into place. It returns the old i_xattrs.blob (or NULL) so
917 if (ci->i_xattrs.dirty) {
920 BUG_ON(need > ci->i_xattrs.prealloc_blob->alloc_len);
922 p = rb_first(&ci->i_xattrs.index);
923 dest = ci->i_xattrs.prealloc_blob->vec.iov_base;
925 ceph_encode_32(&dest, ci->i_xattrs.count);
940 ci->i_xattrs.prealloc_blob->vec.iov_len =
941 dest - ci->i_xattrs.prealloc_blob->vec.iov_base;
943 if (ci->i_xattrs.blob)
944 old_blob = ci->i_xattrs.blob;
945 ci->i_xattrs.blob = ci->i_xattrs.prealloc_blob;
946 ci->i_xattrs.prealloc_blob = NULL;
947 ci->i_xattrs.dirty = false;
948 ci->i_xattrs.version++;
1014 ceph_vinop(inode), name, ci->i_xattrs.version,
1015 ci->i_xattrs.index_version);
1017 if (ci->i_xattrs.version == 0 ||
1076 ceph_vinop(inode), ci->i_xattrs.version,
1077 ci->i_xattrs.index_version);
1079 if (ci->i_xattrs.version == 0 ||
1093 namelen = ci->i_xattrs.names_size + ci->i_xattrs.count;
1166 doutc(cl, "xattr.ver (before): %lld\n", ci->i_xattrs.version);
1169 doutc(cl, "xattr.ver (after): %lld\n", ci->i_xattrs.version);
1237 if ((ci->i_xattrs.version == 0) || !(issued & CEPH_CAP_XATTR_EXCL) ||
1240 ci->i_xattrs.version, required_blob_size,
1259 if (!ci->i_xattrs.prealloc_blob ||
1260 required_blob_size > ci->i_xattrs.prealloc_blob->alloc_len) {
1272 if (ci->i_xattrs.prealloc_blob)
1273 old_blob = ci->i_xattrs.prealloc_blob;
1274 ci->i_xattrs.prealloc_blob = blob;
1284 ci->i_xattrs.dirty = true;
1370 !(ci->i_xattrs.version > 0 &&