Whamcloud - gitweb
LU-9842 osd: return ENODATA for XATTR_NAME_FID on MDT 34/28434/2
authorFan Yong <fan.yong@intel.com>
Tue, 8 Aug 2017 23:18:21 +0000 (07:18 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 28 Aug 2017 06:24:59 +0000 (06:24 +0000)
The XATTR_NAME_FID xattr is OST side EA, if someone calls
getxattr() for XATTR_NAME_FID on MDT, then return -ENODATA.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I18b1466cf62d10fa28f7ed9731490e963b6274f4
Reviewed-on: https://review.whamcloud.com/28434
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/osd-ldiskfs/osd_handler.c

index 7dd693a..1a82aee 100644 (file)
@@ -3815,7 +3815,8 @@ static int osd_xattr_get(const struct lu_env *env, struct dt_object *dt,
                struct filter_fid *ff;
                struct ost_layout *ol;
 
                struct filter_fid *ff;
                struct ost_layout *ol;
 
-               LASSERT(osd_dev(dt->do_lu.lo_dev)->od_is_ost);
+               if (!osd_dev(dt->do_lu.lo_dev)->od_is_ost)
+                       goto cache;
 
                rc = osd_get_lma(info, inode, &info->oti_obj_dentry, loa);
                if (rc)
 
                rc = osd_get_lma(info, inode, &info->oti_obj_dentry, loa);
                if (rc)