diff options
author | Xin Long <lucien.xin@gmail.com> | 2016-04-14 15:35:34 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-15 17:29:36 -0400 |
commit | b5e2f4e6998a2b999da8fa0290b692f0bd85c8b7 (patch) | |
tree | 08da79646ae423c79c8ebc3ed46e5fa6760084a5 /net/sctp | |
parent | 8f840e47f190cbe61a96945c13e9551048d42cef (diff) | |
download | linux-stable-b5e2f4e6998a2b999da8fa0290b692f0bd85c8b7.tar.gz linux-stable-b5e2f4e6998a2b999da8fa0290b692f0bd85c8b7.tar.bz2 linux-stable-b5e2f4e6998a2b999da8fa0290b692f0bd85c8b7.zip |
sctp: merge the seq_start/next/exits in remaddrs and assocs
In sctp proc, these three functions in remaddrs and assocs are the
same. we should merge them into one.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/proc.c | 45 |
1 files changed, 9 insertions, 36 deletions
diff --git a/net/sctp/proc.c b/net/sctp/proc.c index dd8492f0037d..9fe139368ad7 100644 --- a/net/sctp/proc.c +++ b/net/sctp/proc.c @@ -282,7 +282,7 @@ struct sctp_ht_iter { struct rhashtable_iter hti; }; -static void *sctp_assocs_seq_start(struct seq_file *seq, loff_t *pos) +static void *sctp_transport_seq_start(struct seq_file *seq, loff_t *pos) { struct sctp_ht_iter *iter = seq->private; int err = sctp_transport_walk_start(&iter->hti); @@ -293,14 +293,14 @@ static void *sctp_assocs_seq_start(struct seq_file *seq, loff_t *pos) return sctp_transport_get_idx(seq_file_net(seq), &iter->hti, *pos); } -static void sctp_assocs_seq_stop(struct seq_file *seq, void *v) +static void sctp_transport_seq_stop(struct seq_file *seq, void *v) { struct sctp_ht_iter *iter = seq->private; sctp_transport_walk_stop(&iter->hti); } -static void *sctp_assocs_seq_next(struct seq_file *seq, void *v, loff_t *pos) +static void *sctp_transport_seq_next(struct seq_file *seq, void *v, loff_t *pos) { struct sctp_ht_iter *iter = seq->private; @@ -367,9 +367,9 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v) } static const struct seq_operations sctp_assoc_ops = { - .start = sctp_assocs_seq_start, - .next = sctp_assocs_seq_next, - .stop = sctp_assocs_seq_stop, + .start = sctp_transport_seq_start, + .next = sctp_transport_seq_next, + .stop = sctp_transport_seq_stop, .show = sctp_assocs_seq_show, }; @@ -406,33 +406,6 @@ void sctp_assocs_proc_exit(struct net *net) remove_proc_entry("assocs", net->sctp.proc_net_sctp); } -static void *sctp_remaddr_seq_start(struct seq_file *seq, loff_t *pos) -{ - struct sctp_ht_iter *iter = seq->private; - int err = sctp_transport_walk_start(&iter->hti); - - if (err) - return ERR_PTR(err); - - return sctp_transport_get_idx(seq_file_net(seq), &iter->hti, *pos); -} - -static void *sctp_remaddr_seq_next(struct seq_file *seq, void *v, loff_t *pos) -{ - struct sctp_ht_iter *iter = seq->private; - - ++*pos; - - return sctp_transport_get_next(seq_file_net(seq), &iter->hti); -} - -static void sctp_remaddr_seq_stop(struct seq_file *seq, void *v) -{ - struct sctp_ht_iter *iter = seq->private; - - sctp_transport_walk_stop(&iter->hti); -} - static int sctp_remaddr_seq_show(struct seq_file *seq, void *v) { struct sctp_association *assoc; @@ -506,9 +479,9 @@ static int sctp_remaddr_seq_show(struct seq_file *seq, void *v) } static const struct seq_operations sctp_remaddr_ops = { - .start = sctp_remaddr_seq_start, - .next = sctp_remaddr_seq_next, - .stop = sctp_remaddr_seq_stop, + .start = sctp_transport_seq_start, + .next = sctp_transport_seq_next, + .stop = sctp_transport_seq_stop, .show = sctp_remaddr_seq_show, }; |