In the ll_sync_inode function, the entire Inode structure is printed without
holding a lock. This can lead to a race condition when evaluating the assertion
in xlist<ObjectCacher::Object*>::size(), resulting in abnormal behavior.
Fixes: https://tracker.ceph.com/issues/67491
Co-authored-by: dongdong tao <tdd21151186@gmail.com>
Signed-off-by: Chengen Du <chengen.du@canonical.com>
if (!mref_reader.is_state_satisfied())
return -CEPHFS_ENOTCONN;
- ldout(cct, 3) << "ll_sync_inode " << *in << " " << dendl;
+ ldout(cct, 3) << "ll_sync_inode " << _get_vino(in) << " " << dendl;
tout(cct) << "ll_sync_inode" << std::endl;
tout(cct) << (uintptr_t)in << std::endl;