summaryrefslogtreecommitdiff
path: root/fs/ocfs2/locks.h
diff options
context:
space:
mode:
authorChangwei Ge <gechangwei@live.cn>2019-09-24 01:33:40 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-25 01:54:07 +0300
commitd7283b39dbf3de4fe54870f07d7975effa3188da (patch)
tree80119ce1cfdcc2cb64c22446837c5a7175bea6d0 /fs/ocfs2/locks.h
parent0a3775e4f883912944481cf2ef36eb6383a9cc74 (diff)
downloadlinux-d7283b39dbf3de4fe54870f07d7975effa3188da.tar.xz
ocfs2: checkpoint appending truncate log transaction before flushing
Appending truncate log(TA) and and flushing truncate log(TF) are two separated transactions. They can be both committed but not checkpointed. If crash occurs then, both transaction will be replayed with several already released to global bitmap clusters. Then truncate log will be replayed resulting in cluster double free. To reproduce this issue, just crash the host while punching hole to files. Signed-off-by: Changwei Ge <gechangwei@live.cn> Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com> Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/ocfs2/locks.h')
0 files changed, 0 insertions, 0 deletions