From: Patrick Donnelly Date: Wed, 17 Mar 2021 03:23:13 +0000 (-0700) Subject: Merge PR #39848 into master X-Git-Tag: v17.1.0~2594 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a4c6bad353cc342daff2a2faba7de9d8f5b39744;p=ceph.git Merge PR #39848 into master * refs/pull/39848/head: mds: fix race of fetching large dirfrag Reviewed-by: Patrick Donnelly Reviewed-by: Sidharth Anupkrishnan --- a4c6bad353cc342daff2a2faba7de9d8f5b39744 diff --cc src/mds/CDir.cc index ad8193de00a1e,47bcd6fe21f8f..0242cdc67cab9 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@@ -1645,10 -1651,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;