From ab22f5265cf0e0471a3a60cb0c4dcda0d4016092 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. Lustre-change: https://review.whamcloud.com/28434 Lustre-commit: eb34cf7695766b39e15704861d6ac3d636042196 Signed-off-by: Fan Yong Change-Id: I18b1466cf62d10fa28f7ed9731490e963b6274f4 Reviewed-by: John L. Hammond Reviewed-by: James Simmons Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/28761 Tested-by: Jenkins Tested-by: Maloo --- 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 aabc3e6..f94ae77 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -3817,7 +3817,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