Whamcloud - gitweb
Drop slow OSCs if we can, but not for requested start idx.
authorshadow <shadow>
Mon, 24 Nov 2008 12:20:11 +0000 (12:20 +0000)
committershadow <shadow>
Mon, 24 Nov 2008 12:20:11 +0000 (12:20 +0000)
This means "if OSC is slow and it is not the requested
start OST, then it can be skipped, otherwise skip it only
if it is inactive/recovering/out-of-space.

Branch b1_6
b=16081
i=shadow
i=green

lustre/ChangeLog
lustre/lov/lov_qos.c

index 43f7a8e..bf6cdff 100644 (file)
@@ -44,6 +44,15 @@ tbd Sun Microsystems, Inc.
          Lustre filesystem with 4K stack may cause a stack overflow. For more
          information, please refer to bugzilla 17630.
 
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 16081
+Description: don't skip ost target if they assigned to file
+Details    : Drop slow OSCs if we can, but not for requested start idx.
+             This means "if OSC is slow and it is not the requested
+             start OST, then it can be skipped, otherwise skip it only
+             if it is inactive/recovering/out-of-space.
+
 Severity   : enhancement
 Bugzilla   : 17201
 Description: Update to RHEL5 kernel-2.6.18-92.1.17.el5.
index 2e807f3..a84137b 100644 (file)
@@ -636,9 +636,13 @@ repeat_find:
                 if (OBD_FAIL_CHECK(OBD_FAIL_MDS_OSC_PRECREATE) && ost_idx == 0)
                         continue;
 
-                /* Drop slow OSCs if we can, but not for requested start idx */
+                /* Drop slow OSCs if we can, but not for requested start idx.
+                 *
+                 * This means "if OSC is slow and it is not the requested
+                 * start OST, then it can be skipped, otherwise skip it only
+                 * if it is inactive/recovering/out-of-space." */
                 if ((obd_precreate(lov->lov_tgts[ost_idx]->ltd_exp) > speed) &&
-                    (i != 0 || speed < 2))
+                    (i != 0 || speed >= 2))
                         continue;
 
                 *idx_pos = ost_idx;