Whamcloud - gitweb
LU-9714 llog: fix llog_process_thread race 38/27838/15
authorAlexander Boyko <alexander.boyko@seagate.com>
Tue, 19 Sep 2017 09:52:54 +0000 (12:52 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 22 Dec 2017 06:48:24 +0000 (06:48 +0000)
commit52b693c588555c55dd44fe3a27a1bf8c8cccac31
tree1e98f59f5c0d1a093d01a688ce140d7a146b5f0f
parentbe4507fb45074ad24208c494f98a00da90b13665
LU-9714 llog: fix llog_process_thread race

lgh_cur_offset is used at llog_write_osd_rec,
and modified at llog_process_thread.
When two threads of llog_process_thread are processing the
same llog, it could happen that one thread do llog_write,
and second modify lgh_cur_offset. This situation drives to
wrong modification of llog.

Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-4455
Change-Id: I7a63850c876146b14118a7d395cf3cfb3a40dd67
Reviewed-on: https://review.whamcloud.com/27838
Reviewed-by: Sergey Cheremencev <c17829@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_log.h
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/obdclass/llog.c
lustre/obdclass/llog_osd.c