Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.14.0, Lustre 2.16.0
-
None
-
3
-
9223372036854775807
Description
I am highlighting the issue in the nodemap_save_all_caches() function, where ncf_obj is set to NULL, If nodemap_save_config_cache() fails, ncf_obj remains NULL, leading to additional issues and panic later
A simple fix would be to restore ncf_obj to its previous value if nodemap_save_config_cache() fails. I have included a snippet of the affected code for reference below. My question is how to test the fix on a single node setup. Please provide me some insight on testing of this fix. I do see Kit Westneat <kit.westneat@gmail.com> was the original author of this code.
1313 /* put current config file so save conf can rewrite it */
1314 dt_object_put_nocache(&env, ncf->ncf_obj);
1315 ncf->ncf_obj = NULL; <<< this is the cause of the problem
1316
1317 o = nodemap_save_config_cache(&env, dev, ncf->ncf_los); <<< if this fails the ncf_obj will be null and panic the system
1318 if (IS_ERR(o))
1319 CWARN("%s: error writing to nodemap config: rc = %d\n",
1320 obd->obd_name, rc);
1321 else
1322 ncf->ncf_obj = o;
other way to fix can be to delete and clean up the old ncf_obj (that was updated by "nodemap_save_config_cache()"). Please provide me your suggestions to resolve this issue.
not be required.