if (rc != 0)
RETURN(rc);
+ /* Do not cache linkEA that may be self-adjusted by peers
+ * under EA overflow case. */
+ if (strcmp(name, XATTR_NAME_LINK) == 0) {
+ oxe = osp_oac_xattr_find(o, name, true);
+ if (oxe != NULL)
+ osp_oac_xattr_put(oxe);
+
+ RETURN(0);
+ }
+
oxe = osp_oac_xattr_find_or_add(o, name, buf->lb_len);
if (oxe == NULL) {
CWARN("%s: cannot cache xattr '%s' of "DFID"\n",
struct osp_object *obj = dt2osp_obj(dt);
ENTRY;
+ CDEBUG(D_HA, "Invalidate osp_object "DFID"\n",
+ PFID(lu_object_fid(&dt->do_lu)));
osp_obj_invalidate_cache(obj);
spin_lock(&obj->opo_lock);