Whamcloud - gitweb
Drop slow OSCs if we can, but not for requested start idx.
authorshadow <shadow>
Mon, 24 Nov 2008 12:26:41 +0000 (12:26 +0000)
committershadow <shadow>
Mon, 24 Nov 2008 12:26:41 +0000 (12:26 +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 HEAD
b=16081
i=shadow
i=green

libcfs/libcfs/linux/linux-proc.c
lustre/ChangeLog
lustre/lov/lov_qos.c

index 6dd620a..ec6ab0c 100644 (file)
@@ -476,7 +476,6 @@ static cfs_sysctl_table_t top_table[] = {
 int insert_proc(void)
 {
 #ifdef CONFIG_SYSCTL
-       printk("call register\n");
         if (lnet_table_header == NULL)
                 lnet_table_header = cfs_register_sysctl_table(top_table, 0);
 #endif
index 0404d19..9b1a226 100644 (file)
@@ -13,6 +13,14 @@ tbd  Sun Microsystems, Inc.
         removed cwd "./" (refer to Bugzilla 14399).
        * File join has been disabled in this release, refer to Bugzilla 16929.
  
+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   : normal
 Bugzilla   : 16080
index 08aa238..5ad5848 100644 (file)
@@ -693,9 +693,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;