From: Yuri Weinstein Date: Fri, 26 Mar 2021 15:32:25 +0000 (-0700) Subject: Merge pull request #40252 from singuliere/wip-49852-pacific X-Git-Tag: v16.2.0~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4b5e6b57b2efb4cf2ca0f282a2397d13f28e5d22;p=ceph.git Merge pull request #40252 from singuliere/wip-49852-pacific pacific: mds: fix race of fetching large dirfrag Reviewed-by: Patrick Donnelly --- 4b5e6b57b2efb4cf2ca0f282a2397d13f28e5d22 diff --cc src/mds/CDir.cc index ad8193de00a1,0b0125da34b3..0242cdc67cab --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@@ -1645,10 -1653,12 +1653,12 @@@ public int ret1, ret2, ret3; C_IO_Dir_OMAP_Fetched(CDir *d, MDSContext *f) : - CDirIOContext(d), fin(f), ret1(0), ret2(0), ret3(0) { } + CDirIOContext(d), fin(f), + omap_version(d->get_committing_version()), + ret1(0), ret2(0), ret3(0) { } void finish(int r) override { // check the correctness of backtrace - if (r >= 0 && ret3 != -ECANCELED) + if (r >= 0 && ret3 != -CEPHFS_ECANCELED) dir->inode->verify_diri_backtrace(btbl, ret3); if (r >= 0) r = ret1; if (r >= 0) r = ret2;