]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: fix CDir::log_mark_dirty()
authorYan, Zheng <zyan@redhat.com>
Fri, 21 Oct 2016 03:38:44 +0000 (11:38 +0800)
committerNathan Cutler <ncutler@suse.com>
Sat, 31 Mar 2018 12:00:30 +0000 (14:00 +0200)
commit4d73050bb89f4a70bd0d89e190ba8da3d386783d
tree5318cc241e73f92396d568492e836b4953002987
parentd0d361de9825111e907837e5136e12b1cb59ba54
mds: fix CDir::log_mark_dirty()

CDir::log_mark_dirty() moves dirfrag to current log segment's dirty
dirfrag list, but it does not submit any log event. Old log segments
(that include events which dirty the dirfrag) may get expired before
the dirfrag gets committed. If MDS crashes, the changes in expired
log segments get lost.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 7596f4b76a31d16b01ed733be9c52ecfffa7b21a)
src/mds/CDir.cc