Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
We missed to handle symbol file when repair MDT-object's nlink as to cause ASSERT() in the following section:
static int lfsck_namespace_repair_nlink(const struct lu_env *env, struct lfsck_component *com, struct dt_object *obj, struct lu_attr *la) { struct lfsck_thread_info *info = lfsck_env_info(env); struct lu_fid *tfid = &info->lti_fid3; struct lfsck_namespace *ns = com->lc_file_ram; struct lfsck_instance *lfsck = com->lc_lfsck; struct dt_device *dev = lfsck_obj2dev(obj); const struct lu_fid *cfid = lfsck_dto2fid(obj); struct thandle *th = NULL; struct linkea_data ldata = { NULL }; struct lustre_handle lh = { 0 }; __u32 old = la->la_nlink; int idx; int rc = 0; __u8 flags; ENTRY; LASSERT(!dt_object_remote(obj)); LASSERT(S_ISREG(lfsck_object_type(obj))); ....