lbuf->lb_len = (int)tti->tti_u.update.tti_update->ou_result_size;
lbuf->lb_buf = update_result->our_data;
if (lbuf->lb_len == 0)
- lbuf->lb_buf = NULL;
+ lbuf->lb_buf = 0;
dt_read_lock(env, obj, MOR_TGT_CHILD);
rc = dt_xattr_get(env, obj, lbuf, name);
dt_read_unlock(env, obj);
- if (rc <= 0) {
+ if (rc < 0)
lbuf->lb_len = 0;
- if (unlikely(!rc))
- rc = -ENODATA;
- } else if (lbuf->lb_buf) {
- lbuf->lb_len = rc;
- }
-
- CDEBUG(D_INFO, "%s: "DFID" get xattr %s len %d: rc = %d\n",
+ CDEBUG(D_INFO, "%s: "DFID" get xattr %s len %d\n",
tgt_name(tsi->tsi_tgt), PFID(lu_object_fid(&obj->do_lu)),
- name, (int)lbuf->lb_len, rc);
+ name, (int)lbuf->lb_len);
+ GOTO(out, rc);
+
+out:
object_update_result_insert(reply, lbuf->lb_buf, lbuf->lb_len, idx, rc);
RETURN(0);
}