From 32b141c78a41becf2008c939538226aa7f31c436 Mon Sep 17 00:00:00 2001
From: bobijam <bobijam>
Date: Thu, 3 Apr 2008 02:17:59 +0000
Subject: [PATCH] Branch b1_6 b=13375 i=shadow, panda

Descriptoin: make lov_create() will not stuck in obd_statfs_rqset()
Details    : If an OST is down the MDS will hang indefinitely in
             obd_statfs_rqset() waiting for the statfs data. While for
             MDS QOS usage of statfs, it should not stuck in waiting.
---
 lustre/ChangeLog     | 7 +++++++
 lustre/lov/lov_obd.c | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index f910d1f3c5..73ef20b577 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -18,6 +18,13 @@ tbd  Sun Microsystems, Inc.
        * RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a
         removed cwd "./" (refer to Bugzilla 14399).
 
+Severity   : normal
+Bugzilla   : 13375
+Descriptoin: make lov_create() will not stuck in obd_statfs_rqset()
+Details    : If an OST is down the MDS will hang indefinitely in
+             obd_statfs_rqset() waiting for the statfs data. While for
+             MDS QOS usage of statfs, it should not stuck in waiting.
+
 Severity   : normal
 Bugzilla   : 3055
 Description: Disable adaptive timeouts by default
diff --git a/lustre/lov/lov_obd.c b/lustre/lov/lov_obd.c
index 8885f8f6fc..ffdab5e474 100644
--- a/lustre/lov/lov_obd.c
+++ b/lustre/lov/lov_obd.c
@@ -1140,7 +1140,7 @@ static int lov_create(struct obd_export *exp, struct obdo *src_oa,
         }
 
         maxage = cfs_time_shift_64(-lov->desc.ld_qos_maxage);
-        obd_statfs_rqset(exp->exp_obd, &osfs, maxage, 0);
+        obd_statfs_rqset(exp->exp_obd, &osfs, maxage, OBD_STATFS_NODELAY);
 
         rc = lov_prep_create_set(exp, &oinfo, ea, src_oa, oti, &set);
         if (rc)
-- 
GitLab