From: Nikitas Angelinas Date: Fri, 20 Sep 2013 01:15:55 +0000 (+0100) Subject: LU-3978 nrs: ORR/TRR is using CRR-N fields X-Git-Tag: 2.4.93~25 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F7708%2F2;p=fs%2Flustre-release.git LU-3978 nrs: ORR/TRR is using CRR-N fields A repeated typo is causing ORR/TRR to make use of CRR-N fields; this completely impairs the ability of ORR/TRR to perform any sensible scheduling of RPCs, since significant fields used to enable ORR/TRR scheduling were being overwritten, and incorrect fields were used when making scheduling decisions. Signed-off-by: Nikitas Angelinas Change-Id: I4e30360cd412a37cf14348009c6aedb9843df951 Xyratex-bug-id: MRP-1355 Reviewed-on: http://review.whamcloud.com/7708 Tested-by: Hudson Reviewed-by: Liang Zhen Reviewed-by: Li Xi Reviewed-by: Andreas Dilger Tested-by: Maloo --- diff --git a/lustre/ptlrpc/nrs_orr.c b/lustre/ptlrpc/nrs_orr.c index a5afbc0..65b2f7a 100644 --- a/lustre/ptlrpc/nrs_orr.c +++ b/lustre/ptlrpc/nrs_orr.c @@ -554,9 +554,9 @@ static int orr_req_compare(cfs_binheap_node_t *e1, cfs_binheap_node_t *e2) * backend-fs object (for ORR policy instances) or OST (for TRR policy * instances). */ - if (nrq1->nr_u.orr.or_sequence < nrq2->nr_u.crr.cr_sequence) + if (nrq1->nr_u.orr.or_sequence < nrq2->nr_u.orr.or_sequence) return 1; - else if (nrq1->nr_u.orr.or_sequence > nrq2->nr_u.crr.cr_sequence) + else if (nrq1->nr_u.orr.or_sequence > nrq2->nr_u.orr.or_sequence) return 0; /** @@ -1086,8 +1086,8 @@ static int nrs_orr_req_add(struct ptlrpc_nrs_policy *policy, orro->oo_quantum = orrd->od_quantum; } - nrq->nr_u.crr.cr_round = orro->oo_round; - nrq->nr_u.crr.cr_sequence = orro->oo_sequence; + nrq->nr_u.orr.or_round = orro->oo_round; + nrq->nr_u.orr.or_sequence = orro->oo_sequence; rc = cfs_binheap_insert(orrd->od_binheap, &nrq->nr_node); if (rc == 0) {