[LU-2308] class_process_config() prints confusing warnings, is confusing Created: 09/Nov/12  Updated: 25/Apr/14  Resolved: 28/Oct/13

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.2.0, Lustre 2.3.0, Lustre 2.4.0, Lustre 2.1.3
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: John Hammond Assignee: John Hammond
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Related
is related to LU-2157 rolling downgrade from 2.3.0 to 1.8.8... Resolved
is related to LU-1203 When upgrading from Lustre 1.8 to 2.1... Resolved
Severity: 3
Rank (Obsolete): 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.



 Comments   
Comment by Andreas Dilger [ 10/Nov/12 ]

I agree that this is a problem. There are a couple of other bugs related to this problem as well.

I think it makes sense to ignore unknown configuration parameters.

Comment by John Hammond [ 13/Nov/12 ]

Patch tracking at http://review.whamcloud.com/#change,4504.

Comment by Peter Jones [ 28/Oct/13 ]

Fix tracked under LU-2309

Generated at Sat Feb 10 01:24:07 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.