Whamcloud - gitweb
LU-3536 lod: cancel update log after all committed 72/11572/52
authorWang Di <di.wang@intel.com>
Thu, 21 Aug 2014 22:39:19 +0000 (15:39 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 1 Jun 2015 20:32:38 +0000 (20:32 +0000)
commitcd764a5462697261a9a6b1e6c6858c75d969bae1
tree2491a0c0f3da60f7e8c3a3136cf74c17481a0fa0
parent4dcd475716418d7b2093d917a8bffa9ad14e4465
LU-3536 lod: cancel update log after all committed

Cancel the log cookies after all of updates have been
committed to disk.

In DNE2, the distributed operation will write update log in all
of involve MDTs, when these the updates are committed on all of
MDT, these update records will be cancelled. If one of these MDTs
restart during the operation, it will replay the updates based
on these update records.

The distribute operation will be represent as distribute transaction
(top_multiple_thandle), and all of distribute transaction will be
linked into a list, which is attached to lu_target (see
struct target_distribute_txn_data), after distribute thandle is
committed, the commit thread (distribute_txn_commit_thread) will
update the commit batchid, after it is committed, it will then
cancel the update records.

Change-Id: I3023f95515b2c15307479f7f85c3f13926d4bcc9
Signed-off-by: Wang Di <di.wang@intel.com>
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/11572
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
27 files changed:
lustre/fid/fid_handler.c
lustre/fld/fld_handler.c
lustre/include/dt_object.h
lustre/include/lu_target.h
lustre/include/lustre_fid.h
lustre/include/lustre_update.h
lustre/lod/lod_dev.c
lustre/lod/lod_internal.h
lustre/lod/lod_sub_object.c
lustre/mdt/mdt_handler.c
lustre/obdclass/llog.c
lustre/obdclass/llog_cat.c
lustre/obdclass/llog_osd.c
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_oi.c
lustre/osd-ldiskfs/osd_scrub.c
lustre/osp/osp_dev.c
lustre/osp/osp_internal.h
lustre/osp/osp_md_object.c
lustre/osp/osp_object.c
lustre/osp/osp_trans.c
lustre/ptlrpc/wiretest.c
lustre/target/tgt_internal.h
lustre/target/update_records.c
lustre/target/update_trans.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c