From 205514804f057370774074702f49ac5f057ea5b5 Mon Sep 17 00:00:00 2001 From: Robert Read Date: Wed, 16 Jun 2010 09:45:11 -0700 Subject: [PATCH] Revert "b=22755 Don't consume grant twice on recoverable resend" This reverts commit ccddc6afde64c75e39bb04fdeafec00c46f7f8e3. --- lustre/include/lustre/lustre_idl.h | 2 -- lustre/obdfilter/filter_io.c | 11 +---------- lustre/osc/osc_request.c | 12 ++++-------- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/lustre/include/lustre/lustre_idl.h b/lustre/include/lustre/lustre_idl.h index 5b8daf1..02ace2f 100644 --- a/lustre/include/lustre/lustre_idl.h +++ b/lustre/include/lustre/lustre_idl.h @@ -1181,8 +1181,6 @@ enum obdo_flags { OBD_FL_CKSUM_RSVD2 = 0x00008000, /* for future cksum types */ OBD_FL_CKSUM_RSVD3 = 0x00010000, /* for future cksum types */ OBD_FL_SHRINK_GRANT = 0x00020000, /* object shrink the grant */ - OBD_FL_RECOV_RESEND = 0x00080000, /* request resend on recoverable - * error */ OBD_FL_CKSUM_ALL = OBD_FL_CKSUM_CRC32 | OBD_FL_CKSUM_ADLER, diff --git a/lustre/obdfilter/filter_io.c b/lustre/obdfilter/filter_io.c index f6f824d..71d7e28 100644 --- a/lustre/obdfilter/filter_io.c +++ b/lustre/obdfilter/filter_io.c @@ -530,14 +530,9 @@ static int filter_grant_check(struct obd_export *exp, struct obdo *oa, int blocksize = exp->exp_obd->u.obt.obt_sb->s_blocksize; unsigned long used = 0, ungranted = 0, using; int i, rc = -ENOSPC, obj, n = 0; - int resend = oa->o_valid & OBD_FL_RECOV_RESEND; LASSERT_SPIN_LOCKED(&exp->exp_obd->obd_osfs_lock); - if (resend) - CDEBUG(D_CACHE, "Recoverable resend arrived, skipping " - "accounting\n"); - for (obj = 0; obj < objcount; obj++) { for (i = 0; i < fso[obj].fso_bufcnt; i++, n++) { int tmp, bytes; @@ -551,11 +546,7 @@ static int filter_grant_check(struct obd_export *exp, struct obdo *oa, if ((lnb[n].flags & OBD_BRW_FROM_GRANT) && (oa->o_valid & OBD_MD_FLGRANT)) { - if (resend) { - lnb[n].flags |= OBD_BRW_GRANTED; - rc = 0; - continue; - } else if (fed->fed_grant < used + bytes) { + if (fed->fed_grant < used + bytes) { CDEBUG(D_CACHE, "%s: cli %s/%p claims %ld+%d " "GRANT, real grant %lu idx %d\n", diff --git a/lustre/osc/osc_request.c b/lustre/osc/osc_request.c index 83e7528..b81d8d3 100644 --- a/lustre/osc/osc_request.c +++ b/lustre/osc/osc_request.c @@ -1230,8 +1230,7 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, struct lov_stripe_md *lsm, obd_count page_count, struct brw_page **pga, struct ptlrpc_request **reqp, - struct obd_capa *ocapa, int reserve, - int resend) + struct obd_capa *ocapa, int reserve) { struct ptlrpc_request *req; struct ptlrpc_bulk_desc *desc; @@ -1347,9 +1346,6 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, &RMF_NIOBUF_REMOTE), (void *)(niobuf - niocount)); osc_announce_cached(cli, &body->oa, opc == OST_WRITE ? requested_nob:0); - if (resend) - body->oa.o_valid |= OBD_FL_RECOV_RESEND; - if (osc_should_shrink_grant(cli)) osc_shrink_grant_local(cli, &body->oa); @@ -1648,7 +1644,7 @@ static int osc_brw_internal(int cmd, struct obd_export *exp, struct obdo *oa, restart_bulk: rc = osc_brw_prep_request(cmd, &exp->exp_obd->u.cli, oa, lsm, - page_count, pga, &req, ocapa, 0, resends); + page_count, pga, &req, ocapa, 0); if (rc != 0) return (rc); @@ -1701,7 +1697,7 @@ int osc_brw_redo_request(struct ptlrpc_request *request, aa->aa_cli, aa->aa_oa, NULL /* lsm unused by osc currently */, aa->aa_page_count, aa->aa_ppga, - &new_req, aa->aa_ocapa, 0, 1); + &new_req, aa->aa_ocapa, 0); if (rc) RETURN(rc); @@ -2293,7 +2289,7 @@ static struct ptlrpc_request *osc_build_req(const struct lu_env *env, sort_brw_pages(pga, page_count); rc = osc_brw_prep_request(cmd, cli, oa, NULL, page_count, - pga, &req, crattr.cra_capa, 1, 0); + pga, &req, crattr.cra_capa, 1); if (rc != 0) { CERROR("prep_req failed: %d\n", rc); GOTO(out, req = ERR_PTR(rc)); -- 1.8.3.1