Project

General

Profile

Actions

Bug #63288

closed

MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid

Added by Aleksandr Mikhalitsyn over 2 years ago. Updated 8 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
% Done:

100%

Source:
Q/A
Backport:
reef,quincy,pacific
Regression:
Yes
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Tags (freeform):
Fixed In:
v18.0.0-7212-g665e6926576
Released In:
v19.2.0~1261
Upkeep Timestamp:
2025-07-11T21:11:44+00:00

Description

If cephfs client is old enough (for example Linux kernel 5.4 cephfs client) and uses struct ceph_mds_request_head_legacy,
then MDS server won't handle ext_num_retry, ext_num_fwd, owner_uid, owner_gid fields properly. They are left uninitialized
which leads to serious issues.

- In case of owner_uid, owner_gid it leads to the MDS crash on assertion [ ceph_assert(_inode->gid != (unsigned)-1) ].
- For ext_num_retry, ext_num_fwd it's hard to notice any issue but from the code I can see that issue is present. (I hope that Xiubo Li will check me there.)

Issue was originally discovered by Venky Shankar https://github.com/ceph/ceph/pull/53139#issuecomment-1771388202 during testing of the Quincy release.

After some investigation I was able to find a bug in the code, then reproduce it on my local environment and prepare the PR for the main branch (https://github.com/ceph/ceph/pull/54149).

But we will need to (partially) backport this to older cephfs releases.


Related issues 4 (0 open4 closed)

Related to CephFS - Bug #62217: ceph_fs.h: add separate owner_{u,g}id fieldsResolvedAleksandr Mikhalitsyn

Actions
Copied to Ceph - Backport #63476: reef: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gidResolvedActions
Copied to Ceph - Backport #63477: quincy: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gidResolvedActions
Copied to Ceph - Backport #63478: pacific: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gidResolvedActions
Actions #1

Updated by Patrick Donnelly over 2 years ago

  • Related to Bug #62217: ceph_fs.h: add separate owner_{u,g}id fields added
Actions #2

Updated by Rishabh Dave over 2 years ago

  • Status changed from New to Pending Backport
Actions #3

Updated by Upkeep Bot over 2 years ago

  • Copied to Backport #63476: reef: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid added
Actions #4

Updated by Upkeep Bot over 2 years ago

  • Copied to Backport #63477: quincy: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid added
Actions #5

Updated by Upkeep Bot over 2 years ago

  • Copied to Backport #63478: pacific: MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid added
Actions #7

Updated by Konstantin Shalygin about 2 years ago

  • Status changed from Pending Backport to Resolved
  • % Done changed from 90 to 100
Actions #8

Updated by Upkeep Bot 8 months ago

  • Merge Commit set to 665e6926576f3b98395185741aa6c213336ed4bc
  • Fixed In set to v18.0.0-7212-g665e6926576
  • Released In set to v19.2.0~1261
  • Upkeep Timestamp set to 2025-07-11T21:11:44+00:00
Actions

Also available in: Atom PDF