From cfa6bb4c3ef526b0bbcbc50d78e77ac4f45c6dd3 Mon Sep 17 00:00:00 2001 From: deen Date: Mon, 19 Nov 2007 18:59:17 +0000 Subject: [PATCH] OST in recovery should not be discarded by MDS in alloc_qos(), otherwise we can get ENOSP while fs is not full. b=13976 i=shadow i=johann --- lustre/ChangeLog | 7 +++++++ lustre/lov/lov_qos.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index cc370c9..a0f3f1e 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -485,6 +485,13 @@ Description: Incorrect file ownership on O_DIRECT output files Details : block usage reported by 'lfs quota' does not take into account files that have been written with O_DIRECT. +Severity : normal +Frequency : always +Bugzilla : 13976 +Description: touch file failed when fs is not full +Details : OST in recovery should not be discarded by MDS in alloc_qos(), + otherwise we can get ENOSP while fs is not full. + -------------------------------------------------------------------------------- 2007-08-10 Cluster File Systems, Inc. diff --git a/lustre/lov/lov_qos.c b/lustre/lov/lov_qos.c index 260c5ca..45fff43 100644 --- a/lustre/lov/lov_qos.c +++ b/lustre/lov/lov_qos.c @@ -719,7 +719,7 @@ static int alloc_qos(struct obd_export *exp, int *idx_arr, int *stripe_cnt, if (OBD_FAIL_CHECK(OBD_FAIL_MDS_OSC_PRECREATE) && i == 0) continue; - if (obd_precreate(lov->lov_tgts[i]->ltd_exp, 1) >= 2) + if (obd_precreate(lov->lov_tgts[i]->ltd_exp, 1) > 2) continue; lov->lov_tgts[i]->ltd_qos.ltq_usable = 1; -- 1.8.3.1