From 906d827634bb87dc0036ab596d7fab95739f814e Mon Sep 17 00:00:00 2001 From: deen Date: Mon, 19 Nov 2007 18:50:38 +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 3375cb0..d71a0a9 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -101,6 +101,13 @@ Details : Concurrent access to the same directory from multiple clients with ll_readdir(). i_version must be increased every time the lock is cancelled to ensure a revalidate is done. +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-10-26 Cluster File Systems, Inc. diff --git a/lustre/lov/lov_qos.c b/lustre/lov/lov_qos.c index 2755f73..ad2a2f9 100644 --- a/lustre/lov/lov_qos.c +++ b/lustre/lov/lov_qos.c @@ -691,7 +691,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