- if (oxe->oxe_buflen - oxe->oxe_namelen - 1 < rbuf->lb_len) {
- struct osp_xattr_entry *old = oxe;
- struct osp_xattr_entry *tmp;
-
- tmp = osp_oac_xattr_replace(obj, &old, rbuf->lb_len);
- osp_oac_xattr_put(oxe);
- oxe = tmp;
- if (tmp == NULL) {
- CWARN("%s: Fail to update xattr (%s) to "
- "cache for "DFID": rc = %d\n",
- dname, name, PFID(lu_object_fid(&dt->do_lu)), rc);
- spin_lock(&obj->opo_lock);
- old->oxe_ready = 0;
- spin_unlock(&obj->opo_lock);
-
- GOTO(out, rc);
- }
-
- /* Drop the ref for entry on list. */
- osp_oac_xattr_put(old);
- }
-
- spin_lock(&obj->opo_lock);
- oxe->oxe_vallen = rbuf->lb_len;
- memcpy(oxe->oxe_value, rbuf->lb_buf, rbuf->lb_len);
- oxe->oxe_exist = 1;
- oxe->oxe_ready = 1;
- spin_unlock(&obj->opo_lock);