In osp_xattr_get() and osp_declare_xattr_set() avoid NULL pointer
deferences in the error handling cases by clearing oxe_ready on the
old xattr cache entries.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I54f69e2d3e6570528e5a26bc9dd6e079a773a1a8
Reviewed-on: http://review.whamcloud.com/9672
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
"cache for "DFID": rc = %d\n",
dname, name, PFID(lu_object_fid(&dt->do_lu)), rc);
spin_lock(&obj->opo_lock);
"cache for "DFID": rc = %d\n",
dname, name, PFID(lu_object_fid(&dt->do_lu)), rc);
spin_lock(&obj->opo_lock);
spin_unlock(&obj->opo_lock);
GOTO(out, rc);
spin_unlock(&obj->opo_lock);
GOTO(out, rc);
": rc = %d\n", dt->do_lu.lo_dev->ld_obd->obd_name,
name, PFID(lu_object_fid(&dt->do_lu)), rc);
spin_lock(&o->opo_lock);
": rc = %d\n", dt->do_lu.lo_dev->ld_obd->obd_name,
name, PFID(lu_object_fid(&dt->do_lu)), rc);
spin_lock(&o->opo_lock);
spin_unlock(&o->opo_lock);
return 0;
spin_unlock(&o->opo_lock);
return 0;