Bug #45090
Updated by Zheng Yan about 4 years ago
<pre> 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}} </pre> The large memory is likely from buffer bufferlist of dirfrag omap fetch (omap fetch) mds may trim some inodes, reload them later. In the worst case. each inode's xattr_map may reference different memory.