]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mds: replicate random pin state
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 9 Jun 2020 22:15:00 +0000 (15:15 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 24 Jun 2020 22:43:31 +0000 (15:43 -0700)
commit306003c51b1070a10c8e3818f67117d987640ba0
tree5074b00572f331d3fbc12eb77f3ffc38130ca85e
parent703e4b01fa83f81cda4fdc46b91f24a5e92f95f0
mds: replicate random pin state

This is slightly evil in its current form. The MDS should use locks to
transmit state changes but right now it's just set when the CInode is
replicated. This replication of this state marker is necessary for
failover situations where we want the randomly pinned subtree to remain
pinned across failovers.

Note: this problem does not exist for the ephemeral distributed pins
because simple knowledge of the immediate parent's setting (which is
replicated normally) is sufficient to determine if the CInode is
ephemerally distributed. Ditto for regular export pins.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/CDir.cc
src/mds/CInode.cc
src/mds/CInode.h
src/mds/MDBalancer.cc
src/mds/MDCache.cc
src/mds/Server.cc
src/mds/journal.cc