From eb34cf7695766b39e15704861d6ac3d636042196 Mon Sep 17 00:00:00 2001 From: Fan Yong Date: Wed, 9 Aug 2017 07:18:21 +0800 Subject: [PATCH] LU-9842 osd: return ENODATA for XATTR_NAME_FID on MDT 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 Change-Id: I18b1466cf62d10fa28f7ed9731490e963b6274f4 Reviewed-on: https://review.whamcloud.com/28434 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- lustre/osd-ldiskfs/osd_handler.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 7dd693a..1a82aee 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -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; - 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) -- 1.8.3.1