Whamcloud - gitweb
LU-7853 lod: fixes bitfield in lod qos code
authorRahul Deshmkuh <rahul.deshmukh@seagate.com>
Thu, 14 Jul 2016 06:02:45 +0000 (23:02 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 15 Jul 2021 20:57:01 +0000 (20:57 +0000)
commit4e092c45d4d28e8bf3fda73d407a59db1f02456b
treeabb27998cdfc7cd00c3393f1c91dc2a7a8c24421
parent0316f2ce528c3c0db1c9a52ec836dc69c8ff5c55
LU-7853 lod: fixes bitfield in lod qos code

Updating bitfields in struct lod_qos struct is protected
by lq_rw_sem in most places but an update can be lost
due unprotected bitfield access from
lod_qos_thresholdrr_seq_write() and qos_prio_free_store().
This patch fixes it by replacing bitfields with named bits
and atomic bitops.

Lustre-change: https://review.whamcloud.com/18812
Lustre-commit: 3bae39f0a5b98a279fb5f7b8d00211ac0d09366f

Cray-bug-id: LUS-4651
Signed-off-by: Rahul Deshmukh <rahul.deshmukh@seagate.com>
Signed-off-by: Alexander Zarochentsev <c17826@cray.com>
Change-Id: I28299ce4960e91be551d7f6e43a3b598daf4d7a2
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-on: https://review.whamcloud.com/44313
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/include/lu_object.h
lustre/lmv/lmv_obd.c
lustre/lmv/lproc_lmv.c
lustre/lod/lod_pool.c
lustre/lod/lod_qos.c
lustre/lod/lproc_lod.c
lustre/obdclass/lu_tgt_descs.c