From b60041da5bc668c18ac186081acb71a62f0a97d2 Mon Sep 17 00:00:00 2001 From: shadow <shadow> Date: Mon, 24 Nov 2008 12:26:41 +0000 Subject: [PATCH] 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. Branch HEAD b=16081 i=shadow i=green --- libcfs/libcfs/linux/linux-proc.c | 1 - lustre/ChangeLog | 8 ++++++++ lustre/lov/lov_qos.c | 8 ++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/libcfs/libcfs/linux/linux-proc.c b/libcfs/libcfs/linux/linux-proc.c index 6dd620aae1..ec6ab0c33b 100644 --- a/libcfs/libcfs/linux/linux-proc.c +++ b/libcfs/libcfs/linux/linux-proc.c @@ -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 diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 0404d19b85..9b1a226523 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -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 diff --git a/lustre/lov/lov_qos.c b/lustre/lov/lov_qos.c index 08aa2383d2..5ad5848a24 100644 --- a/lustre/lov/lov_qos.c +++ b/lustre/lov/lov_qos.c @@ -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; -- GitLab