]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: fix CDir::log_mark_dirty() 11560/head
authorYan, Zheng <zyan@redhat.com>
Fri, 21 Oct 2016 03:38:44 +0000 (11:38 +0800)
committerYan, Zheng <zyan@redhat.com>
Fri, 21 Oct 2016 06:40:53 +0000 (14:40 +0800)
commit7596f4b76a31d16b01ed733be9c52ecfffa7b21a
tree5480a31f85799d297847f75fbd7fbd7589ff10a4
parentd07e90a59b5d99aed4a2b03ae314a8415d89b32f
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>
src/mds/CDir.cc