Whamcloud - gitweb
LU-522 lod: do not ignore degraded flag of ost. 47/20747/5
authorJadhav Vikram <jadhav.vikram@seagate.com>
Wed, 2 Mar 2016 01:48:20 +0000 (07:18 +0530)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 8 Sep 2016 02:08:03 +0000 (02:08 +0000)
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 <jadhav.vikram@seagate.com>
Change-Id: Ib2390518afff7b9bd459ce64bf609af99071e46d
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/9966
Tested-by: Jenkins
Reviewed-by: Ujjwal Lanjewar <ujjwal.lanjewar@seagate.com>
Reviewed-by: Vladimir Saveliev <vladimir.saveliev@seagate.com>
Tested-by: Parinay Vijayprakash Kondekar <parinay.kondekar@seagate.com>
Reviewed-on: http://review.whamcloud.com/20747
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lod/lod_qos.c

index d1985b8..3de777f 100644 (file)
@@ -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) &&