Whamcloud - gitweb
LU-16501 tgt: skip free inodes in OST weights
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 3 Feb 2023 10:14:39 +0000 (03:14 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Wed, 8 Feb 2023 05:46:54 +0000 (05:46 +0000)
commit15b1a9e8567a8899cc3cec9cec63d2d83985879c
treea07065fbec2f9dc351e1d8b52202490d7885946d
parent10bb028bbbd77fbcf586317c78f14c6d972b6e04
LU-16501 tgt: skip free inodes in OST weights

In lu_tgt_qos_weight_calc() calculate the target weight consistently
with how the per-OST and per-OSS penalty calculation is done in
ltd_qos_penalties_calc().  Otherwise, the QOS weighting calculations
combine two different units, which incorrectly weighs allocations on
OST with more free inodes over those with more free space.

Lustre-change: https://review.whamcloud.com/49890
Lustre-commit: TBD (from ab24f031908d100146b2f2900ab88e99e689d236)

Fixes: d3090bb2b486 ("LU-11213 lod: share object alloc QoS code with LMV")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I1ccc52d7ad5dc440ae48403ba129efd6a0a51c33
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/49904
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/include/lu_object.h
lustre/lmv/lmv_obd.c
lustre/lod/lod_qos.c
lustre/obdclass/lu_tgt_descs.c