[LU-5329] Remove obsollete nidtbl swabbing code Created: 11/Jul/14 Updated: 11/Nov/14 Resolved: 11/Nov/14 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.7.0 |
| Fix Version/s: | Lustre 2.7.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Oleg Drokin | Assignee: | Emoly Liu |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | MB, bb | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 14871 | ||||||||
| Description |
|
lustre/ldlm/ldlm_lib.c has this warning that needs to be fixed: #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 51, 0)
/* 2.2.0 clients always swab nidtbl entries due to a bug, so server
* will do the swabbing for if the client is using the same endianness.
*
* This fixup is version-limited, because we don't want to carry the
* OBD_CONNECT_MNE_SWAB flag around forever, just so long as we need
* interop with unpatched 2.2 clients. For newer clients, servers
* will never do MNE swabbing, let the client handle that. LU-1644 */
export->exp_need_mne_swab = !ptlrpc_req_need_swab(req) &&
!(data->ocd_connect_flags & OBD_CONNECT_MNE_SWAB);
#else
#warning "LU-1644: Remove old OBD_CONNECT_MNE_SWAB fixup and exp_need_mne_swab"
#endif
|
| Comments |
| Comment by Peter Jones [ 18/Aug/14 ] |
|
Emoly Could you please look into this one? Thanks Peter |
| Comment by Emoly Liu [ 19/Aug/14 ] |
|
I saw this code from http://review.whamcloud.com/#/c/3897/. So we haven't worked with 2.2 clients any more since 2.6.50, right? Then, do I need to remove other parts of code introduced by the fixes of |
| Comment by Jinshan Xiong (Inactive) [ 19/Aug/14 ] |
|
Andreas can comment this. |
| Comment by Andreas Dilger [ 25/Aug/14 ] |
|
I disable this code as part of http://review.whamcloud.com/8630 after 2.6.53, among other cleanups. It would be great if you could move that patch along to landing. The code could then be deleted in a separate patch as part of this bug. |
| Comment by Jodi Levi (Inactive) [ 26/Aug/14 ] |
|
Emoly, |
| Comment by Jodi Levi (Inactive) [ 05/Sep/14 ] |
|
Patch landed to Master. |
| Comment by James Nunez (Inactive) [ 15/Sep/14 ] |
|
I'm reopening this ticket so that we can post the patch that actually removes the nidtbl swab code here. There are four sections of code that should be deleted as part of this patch: In file lustre/ldlm/ldlm_lib.c, routine target_handle_connect(), #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 53, 0)
/* 2.2.0 clients always swab nidtbl entries due to a bug, so server
* will do the swabbing for if the client is using the same endianness.
*
* This fixup is version-limited, because we don't want to carry the
* OBD_CONNECT_MNE_SWAB flag around forever, just so long as we need
* interop with unpatched 2.2 clients. For newer clients, servers
* will never do MNE swabbing, let the client handle that. LU-1644 */
export->exp_need_mne_swab = !ptlrpc_req_need_swab(req) &&
!(data->ocd_connect_flags & OBD_CONNECT_MNE_SWAB);
#endif
and in file lustre/mgs/mgs_nids., routine mgs_nidtbl_read(), #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 53, 0)
/* May need to swab back to update the length.*/
if (exp->exp_need_mne_swab)
lustre_swab_mgs_nidtbl_entry(last_in_unit);
#endif
In mgs_nidtbl_read(), #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 53, 0)
if (exp->exp_need_mne_swab)
lustre_swab_mgs_nidtbl_entry(last_in_unit);
#endif
In mgs_nidtbl_read(), #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 6, 53, 0)
/* For LU-1644, swab entry for 2.2 clients. */
if (exp->exp_need_mne_swab)
lustre_swab_mgs_nidtbl_entry(entry);
#endif
I'm happy to upload a patch for this code removal when 2.6.53 is tagged. |
| Comment by James Nunez (Inactive) [ 22/Sep/14 ] |
|
Proposed patch to remove obsolete code is at http://review.whamcloud.com/12010 |
| Comment by James Nunez (Inactive) [ 11/Nov/14 ] |
|
Patch removing obsolete code landed to master (pre-2.7) |