Project

General

Profile

Bug #45090

mds: inode's xattr_map may reference a large memory.

Added by Zheng Yan 5 months ago. Updated 4 months ago.

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

0%

Source:
Development
Tags:
Backport:
octopus,nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature:

Description

Thread 9 "ms_dispatch" hit Breakpoint 1, CInode::encode_inodestat (this=0x555558056b00, bl=..., session=0x555557136480, dir_realm=0x555557116a00, snapid=..., 
    max_bytes=523476, getattr_caps=0) at /home/zhyan/Ceph/ceph/src/mds/CInode.cc:3831
3831          if (pxattrs) {
(gdb) n
3832        for (const auto &p : *pxattrs)
(gdb) p
The history is empty.
(gdb) n
314        unsigned length() const { return _len; }
(gdb) p p
$1 = {first = "user.test", second = {_raw = 0x55555750fb60, _off = 369399, _len = 4}}

The large memory is likely from buffer of dirfrag fetch (omap fetch)

mds may trim some inodes, reload them later. In the worst case. each inode's xattr_map may reference different memory.


Related issues

Related to fs - Bug #37399: mds: severe internal fragment when decoding xattr_map from log event Resolved 11/27/2018
Copied to fs - Backport #45600: nautilus: mds: inode's xattr_map may reference a large memory. Resolved
Copied to fs - Backport #45601: octopus: mds: inode's xattr_map may reference a large memory. Resolved

History

#1 Updated by Zheng Yan 5 months ago

  • Related to Bug #37399: mds: severe internal fragment when decoding xattr_map from log event added

#2 Updated by Zheng Yan 5 months ago

  • Description updated (diff)

#3 Updated by Zheng Yan 5 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 34571

#4 Updated by Patrick Donnelly 5 months ago

  • Assignee set to Zheng Yan
  • Target version set to v16.0.0
  • Source set to Development
  • Backport set to octopus,nautilus
  • Component(FS) MDS added

#5 Updated by Patrick Donnelly 4 months ago

  • Status changed from Fix Under Review to Resolved

#6 Updated by Patrick Donnelly 4 months ago

  • Status changed from Resolved to Pending Backport

#7 Updated by Nathan Cutler 4 months ago

  • Copied to Backport #45600: nautilus: mds: inode's xattr_map may reference a large memory. added

#8 Updated by Nathan Cutler 4 months ago

  • Copied to Backport #45601: octopus: mds: inode's xattr_map may reference a large memory. added

#9 Updated by Nathan Cutler 4 months ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF