Whamcloud - gitweb
LU-11426 llog: changelog records reordering 87/36187/5
authorAndrew Perepechko <c17827@cray.com>
Tue, 17 Sep 2019 07:34:44 +0000 (10:34 +0300)
committerOleg Drokin <green@whamcloud.com>
Fri, 27 Sep 2019 23:11:55 +0000 (23:11 +0000)
commit1fa0a984c5c3863d8f40b3b0d63c3d08cfa1a9f0
treeabc7c85bceb19b7be85428d4b1b90ee463371989
parent84ebd81d4295bc42fd78539aa1bca63a2b3a9295
LU-11426 llog: changelog records reordering

Changelog records can get reordered because of a race
window between cr_index generation and llog file
space allocation. This can lead to llog records
loss.

llog_write() holds loghandle->lgh_lock semaphore,
so it seems an appropriate place to generate a
new changelog index.

Change-Id: I034d1a696bde1d0f780e494ab65073e4018ceec9
Signed-off-by: Andrew Perepechko <c17827@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Reviewed-by: Alexander Zarochentsev <c17826@cray.com>
Cray-bug-id: LUS-7691
Reviewed-on: https://review.whamcloud.com/36187
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Yingjin Qian <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/mdd/mdd_device.c
lustre/mdd/mdd_dir.c
lustre/mdd/mdd_internal.h
lustre/tests/sanity.sh