Whamcloud - gitweb
LU-16501 tgt: skip free inodes in OST weights 90/49890/4
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 3 Feb 2023 10:14:39 +0000 (03:14 -0700)
committerOleg Drokin <green@whamcloud.com>
Tue, 14 Feb 2023 06:03:27 +0000 (06:03 +0000)
commit511bf2f4ccd1482d6f2380942d43cc3e08b8e25b
treea566eb07bd765a6f7dcf541ce134593ad91bca92
parent51136f2dc68f1d0699b11fe482c8ef1a24c3a1fb
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.

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/fs/lustre-release/+/49890
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Artem Blagodarenko <ablagodarenko@ddn.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Sergey Cheremencev <scherementsev@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lu_object.h
lustre/lmv/lmv_obd.c
lustre/lod/lod_qos.c
lustre/obdclass/lu_tgt_descs.c