From: Patrick Donnelly Date: Sat, 31 Mar 2018 05:25:10 +0000 (-0700) Subject: Merge PR #20132 into master X-Git-Tag: v13.1.0~436 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b7fce64601cc88ff93098582ab44e1ca0699488b;p=ceph.git Merge PR #20132 into master * 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 --- b7fce64601cc88ff93098582ab44e1ca0699488b diff --cc src/mds/CInode.h index b0adb7f54dd7,213ec09a17ca..dcf6d67ddd5d --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@@ -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;