Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'ceph-for-6.4-rc3' of https://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:
"A workaround for a just discovered bug in MClientSnap encoding which
goes back to 2017 (marked for stable) and a fixup to quieten a static
checker"

* tag 'ceph-for-6.4-rc3' of https://github.com/ceph/ceph-client:
ceph: force updating the msg pointer in non-split case
ceph: silence smatch warning in reconnect_caps_cb()

+15 -1
+2 -1
fs/ceph/mds_client.c
··· 3942 3942 struct dentry *dentry; 3943 3943 struct ceph_cap *cap; 3944 3944 char *path; 3945 - int pathlen = 0, err = 0; 3945 + int pathlen = 0, err; 3946 3946 u64 pathbase; 3947 3947 u64 snap_follows; 3948 3948 ··· 3965 3965 cap = __get_cap_for_mds(ci, mds); 3966 3966 if (!cap) { 3967 3967 spin_unlock(&ci->i_ceph_lock); 3968 + err = 0; 3968 3969 goto out_err; 3969 3970 } 3970 3971 dout(" adding %p ino %llx.%llx cap %p %lld %s\n",
+13
fs/ceph/snap.c
··· 1111 1111 continue; 1112 1112 adjust_snap_realm_parent(mdsc, child, realm->ino); 1113 1113 } 1114 + } else { 1115 + /* 1116 + * In the non-split case both 'num_split_inos' and 1117 + * 'num_split_realms' should be 0, making this a no-op. 1118 + * However the MDS happens to populate 'split_realms' list 1119 + * in one of the UPDATE op cases by mistake. 1120 + * 1121 + * Skip both lists just in case to ensure that 'p' is 1122 + * positioned at the start of realm info, as expected by 1123 + * ceph_update_snap_trace(). 1124 + */ 1125 + p += sizeof(u64) * num_split_inos; 1126 + p += sizeof(u64) * num_split_realms; 1114 1127 } 1115 1128 1116 1129 /*