[LU-9216] Interop: 2.7.0 client fails to mount on ~2.9.53 server Created: 15/Mar/17  Updated: 16/Apr/17  Resolved: 16/Apr/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.10.0
Fix Version/s: Lustre 2.10.0

Type: Bug Priority: Blocker
Reporter: Nathaniel Clark Assignee: Niu Yawei (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-9081 Don't attach other logs when processi... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Trying to test interop client 2.7.0 and current master (~2.9.53). The client failed to mount.
Server: https://review.whamcloud.com/#/c/25853/
https://testing.hpdd.intel.com/test_sets/a3ddeed6-0656-11e7-9750-5254006e85c2

client syslog:

Mar 11 11:20:28 trevis-55vm1 kernel: Lustre: DEBUG MARKER: mount -t lustre -o user_xattr,flock trevis-55vm7@tcp:/lustre /mnt/lustre
Mar 11 11:20:28 trevis-55vm1 kernel: LustreError: 6140:0:(mgc_request.c:2001:mgc_process_config()) Cannot process recover llog -22
Mar 11 11:20:28 trevis-55vm1 kernel: LustreError: 15b-f: MGC10.9.6.115@tcp: The configuration from log 'lustre-client'failed from the MGS (-22).  Make sure this client and the MGS are running compatible versions of Lustre.
Mar 11 11:20:28 trevis-55vm1 kernel: LustreError: 2274:0:(lov_obd.c:946:lov_cleanup()) lustre-clilov-ffff88007da58000: lov tgt 0 not cleaned! deathrow=0, lovrc=1
Mar 11 11:20:28 trevis-55vm1 kernel: Lustre: Unmounted lustre-client
Mar 11 11:20:28 trevis-55vm1 kernel: LustreError: 6140:0:(obd_mount.c:1339:lustre_fill_super()) Unable to mount  (-22)


 Comments   
Comment by Joseph Gmitter (Inactive) [ 15/Mar/17 ]

Hi Nathaniel,

Can you please look into what may have caused this?

Thanks.
Joe

Comment by John Hammond [ 15/Mar/17 ]

This would seem to be a pretty serious wire protocol breakage introduced by 57ba9deb978a8335e0dde04baf6281e8b9ab23f8 LU-9081 config: don't attach sub logs for LWP
In master:

#define CONFIG_T_CONFIG         0x01
#define CONFIG_T_SPTLRPC        0x02
#define CONFIG_T_RECOVER        0x04
#define CONFIG_T_PARAMS         0x08
#define CONFIG_T_NODEMAP        0x10
#define CONFIG_T_BARRIER        0x20

In 2.7.0:

enum {
        CONFIG_T_CONFIG  = 0,
        CONFIG_T_SPTLRPC = 1,
        CONFIG_T_RECOVER = 2,
        CONFIG_T_PARAMS  = 3,
        CONFIG_T_MAX     = 4
};

Note that these constants go on the wire.

Comment by Oleg Drokin [ 15/Mar/17 ]

if they go on the wire, they need to be part of the wirecheck/wiretest (for the future patch)

Comment by Andreas Dilger [ 15/Mar/17 ]

Niu, this looks to be related to your patch. Can you please investigate.

Are these values not checked in wirecheck.c? They should be moved over to lustre_idl.h and added in that case.

Comment by Gerrit Updater [ 16/Mar/17 ]

Niu Yawei (yawei.niu@intel.com) uploaded a new patch: https://review.whamcloud.com/26022
Subject: LU-9216 config: move config types into lustre_idl.h
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0f0de846ef9d11d70ae2b5bf7b604c27dc6c729f

Comment by Gerrit Updater [ 26/Mar/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/26022/
Subject: LU-9216 config: move config types into lustre_idl.h
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: c7785d49520bdf101cd0b1ea03ee236f66054eb5

Comment by Peter Jones [ 16/Apr/17 ]

Fix landed for 2.10

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