]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #20132 into master
authorPatrick Donnelly <pdonnell@redhat.com>
Sat, 31 Mar 2018 05:25:10 +0000 (22:25 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Sat, 31 Mar 2018 05:25:10 +0000 (22:25 -0700)
* refs/pull/20132/head:
qa/cephfs: update TestDamage for open file table
mds: allow storing open file table in multiple omaps
mds: differentiate Anchor types to clarify purpose
mds: add perf counter for 'open ino' operation
mds: protect open file table against partial omap update
mds: add dirfrags whose child inodes have caps to open file table
mds: don't try prefetching destroyed inodes
mds: don't try opening inodes that haven't been created
mds: don't re-requeue open files to head of log
mds: use open file table to speed up mds recovery
mds: introduce open file table
mds: track how many clients/mds want caps for each inode
mds: cleanup MDCache::opening_inodes access
mds: cleanup CInode/CDir states definition

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
1  2 
src/mds/CDir.cc
src/mds/CDir.h
src/mds/CInode.cc
src/mds/CInode.h
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/MDSRank.cc
src/mds/MDSRank.h
src/mds/Migrator.cc
src/mds/Server.cc

diff --cc src/mds/CDir.cc
Simple merge
diff --cc src/mds/CDir.h
Simple merge
Simple merge
index b0adb7f54dd7b13843bc5c1d880d983032144885,213ec09a17ca6d67e480c19332e16ab9f15691ad..dcf6d67ddd5d63f4bff9e6c4655c27e478de5b61
@@@ -210,29 -210,29 +210,30 @@@ class CInode : public MDSCacheObject, p
    static const int DUMP_STATE =            (1 << 3);
    static const int DUMP_CAPS =             (1 << 4);
    static const int DUMP_PATH =             (1 << 5);
 +  static const int DUMP_DIRFRAGS =         (1 << 6);
    static const int DUMP_ALL =              (-1);
 -  static const int DUMP_DEFAULT = DUMP_ALL & (~DUMP_PATH);
 +  static const int DUMP_DEFAULT = DUMP_ALL & (~DUMP_PATH) & (~DUMP_DIRFRAGS);
  
    // -- state --
-   static const int STATE_EXPORTING =   (1<<2);   // on nonauth bystander.
-   static const int STATE_OPENINGDIR =  (1<<5);
-   static const int STATE_FREEZING =    (1<<7);
-   static const int STATE_FROZEN =      (1<<8);
-   static const int STATE_AMBIGUOUSAUTH = (1<<9);
-   static const int STATE_EXPORTINGCAPS = (1<<10);
-   static const int STATE_NEEDSRECOVER = (1<<11);
-   static const int STATE_RECOVERING =   (1<<12);
-   static const int STATE_PURGING =     (1<<13);
-   static const int STATE_DIRTYPARENT =  (1<<14);
-   static const int STATE_DIRTYRSTAT =  (1<<15);
-   static const int STATE_STRAYPINNED = (1<<16);
-   static const int STATE_FROZENAUTHPIN = (1<<17);
-   static const int STATE_DIRTYPOOL =   (1<<18);
-   static const int STATE_REPAIRSTATS = (1<<19);
-   static const int STATE_MISSINGOBJS = (1<<20);
-   static const int STATE_EVALSTALECAPS = (1<<21);
-   static const int STATE_QUEUEDEXPORTPIN = (1<<22);
+   static const int STATE_EXPORTING            = (1<<0);   // on nonauth bystander.
+   static const int STATE_OPENINGDIR           = (1<<1);
+   static const int STATE_FREEZING             = (1<<2);
+   static const int STATE_FROZEN                       = (1<<3);
+   static const int STATE_AMBIGUOUSAUTH                = (1<<4);
+   static const int STATE_EXPORTINGCAPS                = (1<<5);
+   static const int STATE_NEEDSRECOVER         = (1<<6);
+   static const int STATE_RECOVERING           = (1<<7);
+   static const int STATE_PURGING              = (1<<8);
+   static const int STATE_DIRTYPARENT          = (1<<9);
+   static const int STATE_DIRTYRSTAT           = (1<<10);
+   static const int STATE_STRAYPINNED          = (1<<11);
+   static const int STATE_FROZENAUTHPIN                = (1<<12);
+   static const int STATE_DIRTYPOOL            = (1<<13);
+   static const int STATE_REPAIRSTATS          = (1<<14);
+   static const int STATE_MISSINGOBJS          = (1<<15);
+   static const int STATE_EVALSTALECAPS                = (1<<16);
+   static const int STATE_QUEUEDEXPORTPIN      = (1<<17);
+   static const int STATE_TRACKEDBYOFT         = (1<<18);  // tracked by open file table
    // orphan inode needs notification of releasing reference
    static const int STATE_ORPHAN =     STATE_NOTIFYREF;
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge