]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #39848 into master
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 17 Mar 2021 03:23:13 +0000 (20:23 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 17 Mar 2021 03:23:13 +0000 (20:23 -0700)
* refs/pull/39848/head:
mds: fix race of fetching large dirfrag

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
1  2 
src/mds/CDir.cc
src/mds/CDir.h

diff --cc src/mds/CDir.cc
index ad8193de00a1ea59cfc25bd8c7c5d8c4d70885c5,47bcd6fe21f8f9b888cffe000b63778208d228c4..0242cdc67cab99a22eb57380ffc648b04b9c9088
@@@ -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;
diff --cc src/mds/CDir.h
Simple merge