diff options
| author | Patrick McHardy <kaber@trash.net> | 2008-07-06 02:23:27 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-07-06 02:23:27 -0400 |
| commit | aee18a8cf28808b7302ef698d77fa73883e60f1b (patch) | |
| tree | 588722b785cea394c13997dfa1502ed041588d8c /net/sched | |
| parent | 4207759939c208f24d7e09596753e67b6bc188f9 (diff) | |
net-sched: sch_htb: remove write-only qdisc filter_cnt
The filter_cnt is supposed to count filter references to a class.
Since the qdisc can't be the target of a filter, it doesn't need
a filter_cnt. In fact the counter is never decreased since cls_api
considers a return value of zero a failure and doesn't unbind again.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
| -rw-r--r-- | net/sched/sch_htb.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 128a5ab2e376..ee8b4ffe110c 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
| @@ -159,7 +159,6 @@ struct htb_sched { | |||
| 159 | 159 | ||
| 160 | /* filters for qdisc itself */ | 160 | /* filters for qdisc itself */ |
| 161 | struct tcf_proto *filter_list; | 161 | struct tcf_proto *filter_list; |
| 162 | int filter_cnt; | ||
| 163 | 162 | ||
| 164 | int rate2quantum; /* quant = rate / rate2quantum */ | 163 | int rate2quantum; /* quant = rate / rate2quantum */ |
| 165 | psched_time_t now; /* cached dequeue time */ | 164 | psched_time_t now; /* cached dequeue time */ |
| @@ -1484,7 +1483,6 @@ static struct tcf_proto **htb_find_tcf(struct Qdisc *sch, unsigned long arg) | |||
| 1484 | static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, | 1483 | static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, |
| 1485 | u32 classid) | 1484 | u32 classid) |
| 1486 | { | 1485 | { |
| 1487 | struct htb_sched *q = qdisc_priv(sch); | ||
| 1488 | struct htb_class *cl = htb_find(classid, sch); | 1486 | struct htb_class *cl = htb_find(classid, sch); |
| 1489 | 1487 | ||
| 1490 | /*if (cl && !cl->level) return 0; | 1488 | /*if (cl && !cl->level) return 0; |
| @@ -1498,20 +1496,15 @@ static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, | |||
| 1498 | */ | 1496 | */ |
| 1499 | if (cl) | 1497 | if (cl) |
| 1500 | cl->filter_cnt++; | 1498 | cl->filter_cnt++; |
| 1501 | else | ||
| 1502 | q->filter_cnt++; | ||
| 1503 | return (unsigned long)cl; | 1499 | return (unsigned long)cl; |
| 1504 | } | 1500 | } |
| 1505 | 1501 | ||
| 1506 | static void htb_unbind_filter(struct Qdisc *sch, unsigned long arg) | 1502 | static void htb_unbind_filter(struct Qdisc *sch, unsigned long arg) |
| 1507 | { | 1503 | { |
| 1508 | struct htb_sched *q = qdisc_priv(sch); | ||
| 1509 | struct htb_class *cl = (struct htb_class *)arg; | 1504 | struct htb_class *cl = (struct htb_class *)arg; |
| 1510 | 1505 | ||
| 1511 | if (cl) | 1506 | if (cl) |
| 1512 | cl->filter_cnt--; | 1507 | cl->filter_cnt--; |
| 1513 | else | ||
| 1514 | q->filter_cnt--; | ||
| 1515 | } | 1508 | } |
| 1516 | 1509 | ||
| 1517 | static void htb_walk(struct Qdisc *sch, struct qdisc_walker *arg) | 1510 | static void htb_walk(struct Qdisc *sch, struct qdisc_walker *arg) |
