Details
-
Improvement
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
When a target is formatted with `--servicenode` option, it will have `LDD_F_NO_PRIMNODE`, which is expected. However, when we use `tunefs.lustre` to erase `failover.node` parameter, the `LDD_F_NO_PRIMNODE` flag stays, which will make this target not mountable because it will exit at:
1204 static int server_nid2radix(void *data, struct lnet_nid *nid)
1205 {
1206 struct nid_fetch_data *nfd = data;
1207 struct lnet_nid *tmp;
1208 1209 if (nid_is_lo0(nid))
1210 return 0;
1211 1212 if (test_bit(LMD_FLG_NO_PRIMNODE, nfd->nfd_lmd->lmd_flags) &&
1213 class_match_nid(nfd->nfd_lmd->lmd_params, PARAM_FAILNODE, nid) < 1)
1214 return 0; <-- exit here.
The current workload is to set `--failover` NID, which will clear that flag, and then erase it again.
It seems reasonable to clear the flag when we erase the failover node parameter.