From 994aa414a4ffba54a62bff7ca8fecf7445127d6b Mon Sep 17 00:00:00 2001 From: Jadhav Vikram Date: Wed, 2 Mar 2016 07:18:20 +0530 Subject: [PATCH] LU-522 lod: do not ignore degraded flag of ost. QoS allocation algorithm ignores degraded flag of OSTs. Added a check for degraded ost flag in lod_alloc_qos(). Seagate-bug-id: MRP-2820 Signed-off-by: Jadhav Vikram Change-Id: Ib2390518afff7b9bd459ce64bf609af99071e46d Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/9966 Tested-by: Jenkins Reviewed-by: Ujjwal Lanjewar Reviewed-by: Vladimir Saveliev Tested-by: Parinay Vijayprakash Kondekar Reviewed-on: http://review.whamcloud.com/20747 Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Niu Yawei Reviewed-by: Oleg Drokin --- lustre/lod/lod_qos.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lustre/lod/lod_qos.c b/lustre/lod/lod_qos.c index d1985b8..3de777f 100644 --- a/lustre/lod/lod_qos.c +++ b/lustre/lod/lod_qos.c @@ -1443,6 +1443,9 @@ static int lod_alloc_qos(const struct lu_env *env, struct lod_object *lo, if (lod_qos_dev_is_full(sfs)) continue; + if (sfs->os_state & OS_STATE_DEGRADED) + continue; + /* Fail Check before osc_precreate() is called so we can only 'fail' single OSC. */ if (OBD_FAIL_CHECK(OBD_FAIL_MDS_OSC_PRECREATE) && -- 1.8.3.1