Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-2308

class_process_config() prints confusing warnings, is confusing

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Minor
    • None
    • Lustre 2.2.0, Lustre 2.3.0, Lustre 2.4.0, Lustre 2.1.3
    • None
    • 3
    • 5521

    Description

      If class_process_config() does not recognize a configuration parameter it warns about "ignoring" an unknown parameter then causes mount to fail. However, if something is causing mount to fail then it's not really being ignored.

      class_process_config()
              case LCFG_PARAM: {
              	char *tmp;
              	/* llite has no obd */
                      if ((class_match_param(lustre_cfg_string(lcfg, 1),
                                             PARAM_LLITE, 0) == 0) &&
                          client_process_config) {
                              err = (*client_process_config)(lcfg);
                              GOTO(out, err);
                      } else if ((class_match_param(lustre_cfg_string(lcfg, 1),
                                                    PARAM_SYS, &tmp) == 0)) {
                              /* Global param settings */
                              err = class_set_global(tmp, lcfg->lcfg_num, lcfg);
                              /* Note that since LCFG_PARAM is LCFG_REQUIRED, new                                            \
      
                                 unknown globals would cause config to fail */
                              if (err)
                                      CWARN("Ignoring unknown param %s\n", tmp);
                              GOTO(out, 0);
                      } else if ((class_match_param(lustre_cfg_string(lcfg, 1),
                                                    PARAM_QUOTA, &tmp) == 0) &&
                                 quota_process_config) {
                              err = (*quota_process_config)(lcfg);
                              GOTO(out, err);
                      }
                      /* Fall through */
                      break;
              }
      

      I like how the "GOTO(out, 0);" makes me think, well maybe it /is/ ignoring the unknown param. But it's not.

      Attachments

        Issue Links

          Activity

            People

              jhammond John Hammond
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: