From 0b5c0ab44a18f709d2e99d30e06ab3b37d11cb62 Mon Sep 17 00:00:00 2001 From: tappro Date: Sun, 12 Nov 2006 10:15:29 +0000 Subject: [PATCH] - return MIN_PRECREATE to the initial value - 32 - check the llog and echo groups and do real create always for them --- lustre/include/lustre/lustre_idl.h | 2 +- lustre/osc/osc_create.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lustre/include/lustre/lustre_idl.h b/lustre/include/lustre/lustre_idl.h index fe848cb..880a764 100644 --- a/lustre/include/lustre/lustre_idl.h +++ b/lustre/include/lustre/lustre_idl.h @@ -817,7 +817,7 @@ extern void lustre_swab_obd_statfs (struct obd_statfs *os); #define OBD_OBJECT_EOF 0xffffffffffffffffULL -#define OST_MIN_PRECREATE 16384 +#define OST_MIN_PRECREATE 32 #define OST_MAX_PRECREATE 20000 struct obd_ioobj { diff --git a/lustre/osc/osc_create.c b/lustre/osc/osc_create.c index b3ef7b4..e63b8d2 100644 --- a/lustre/osc/osc_create.c +++ b/lustre/osc/osc_create.c @@ -151,7 +151,7 @@ static int oscc_internal_create(struct osc_creator *oscc) spin_lock(&oscc->oscc_lock); body->oa.o_id = oscc->oscc_last_id + oscc->oscc_grow_count; - body->oa.o_gr = oscc->oscc_oa.o_gr; + body->oa.o_gr = oscc->oa.o_gr; LASSERT(body->oa.o_gr > 0); body->oa.o_valid |= OBD_MD_FLID | OBD_MD_FLGROUP; spin_unlock(&oscc->oscc_lock); @@ -250,6 +250,9 @@ int osc_create(struct obd_export *exp, struct obdo *oa, RETURN(osc_real_create(exp, oa, ea, oti)); } + if (oa->o_gr == FILTER_GROUP_LLOG || oa->o_gr == FILTER_GROUP_ECHO) + RETURN(osc_real_create(exp, oa, ea, oti)); + /* this is the special case where create removes orphans */ if ((oa->o_valid & OBD_MD_FLFLAGS) && oa->o_flags == OBD_FL_DELORPHAN) { -- 1.8.3.1