Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 59027
b: refs/heads/master
c: 60f0438
h: refs/heads/master
i:
  59025: a9ab62f
  59023: 6b40d52
v: v3
  • Loading branch information
Pavel Emelianov authored and David S. Miller committed Jul 11, 2007
1 parent d403059 commit 83e7fce
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 78 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9af97186fcc9a1d9bbf195eb4bc2399d0dd66223
refs/heads/master: 60f0438a87cfd9f5faa439ca419497cd64e4c59e
39 changes: 4 additions & 35 deletions trunk/net/core/sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -1851,46 +1851,15 @@ void proto_unregister(struct proto *prot)
EXPORT_SYMBOL(proto_unregister);

#ifdef CONFIG_PROC_FS
static inline struct proto *__proto_head(void)
{
return list_entry(proto_list.next, struct proto, node);
}

static inline struct proto *proto_head(void)
{
return list_empty(&proto_list) ? NULL : __proto_head();
}

static inline struct proto *proto_next(struct proto *proto)
{
return proto->node.next == &proto_list ? NULL :
list_entry(proto->node.next, struct proto, node);
}

static inline struct proto *proto_get_idx(loff_t pos)
{
struct proto *proto;
loff_t i = 0;

list_for_each_entry(proto, &proto_list, node)
if (i++ == pos)
goto out;

proto = NULL;
out:
return proto;
}

static void *proto_seq_start(struct seq_file *seq, loff_t *pos)
{
read_lock(&proto_list_lock);
return *pos ? proto_get_idx(*pos - 1) : SEQ_START_TOKEN;
return seq_list_start_head(&proto_list, *pos);
}

static void *proto_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
++*pos;
return v == SEQ_START_TOKEN ? proto_head() : proto_next(v);
return seq_list_next(v, &proto_list, pos);
}

static void proto_seq_stop(struct seq_file *seq, void *v)
Expand Down Expand Up @@ -1938,7 +1907,7 @@ static void proto_seq_printf(struct seq_file *seq, struct proto *proto)

static int proto_seq_show(struct seq_file *seq, void *v)
{
if (v == SEQ_START_TOKEN)
if (v == &proto_list)
seq_printf(seq, "%-9s %-4s %-8s %-6s %-5s %-7s %-4s %-10s %s",
"protocol",
"size",
Expand All @@ -1950,7 +1919,7 @@ static int proto_seq_show(struct seq_file *seq, void *v)
"module",
"cl co di ac io in de sh ss gs se re sp bi br ha uh gp em\n");
else
proto_seq_printf(seq, v);
proto_seq_printf(seq, list_entry(v, struct proto, node));
return 0;
}

Expand Down
48 changes: 6 additions & 42 deletions trunk/net/rxrpc/ar-proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,31 +30,13 @@ static const char *rxrpc_conn_states[] = {
*/
static void *rxrpc_call_seq_start(struct seq_file *seq, loff_t *_pos)
{
struct list_head *_p;
loff_t pos = *_pos;

read_lock(&rxrpc_call_lock);
if (!pos)
return SEQ_START_TOKEN;
pos--;

list_for_each(_p, &rxrpc_calls)
if (!pos--)
break;

return _p != &rxrpc_calls ? _p : NULL;
return seq_list_start_head(&rxrpc_calls, *_pos);
}

static void *rxrpc_call_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
struct list_head *_p;

(*pos)++;

_p = v;
_p = (v == SEQ_START_TOKEN) ? rxrpc_calls.next : _p->next;

return _p != &rxrpc_calls ? _p : NULL;
return seq_list_next(v, &rxrpc_calls, pos);
}

static void rxrpc_call_seq_stop(struct seq_file *seq, void *v)
Expand All @@ -68,7 +50,7 @@ static int rxrpc_call_seq_show(struct seq_file *seq, void *v)
struct rxrpc_call *call;
char lbuff[4 + 4 + 4 + 4 + 5 + 1], rbuff[4 + 4 + 4 + 4 + 5 + 1];

if (v == SEQ_START_TOKEN) {
if (v == &rxrpc_calls) {
seq_puts(seq,
"Proto Local Remote "
" SvID ConnID CallID End Use State Abort "
Expand Down Expand Up @@ -129,32 +111,14 @@ struct file_operations rxrpc_call_seq_fops = {
*/
static void *rxrpc_connection_seq_start(struct seq_file *seq, loff_t *_pos)
{
struct list_head *_p;
loff_t pos = *_pos;

read_lock(&rxrpc_connection_lock);
if (!pos)
return SEQ_START_TOKEN;
pos--;

list_for_each(_p, &rxrpc_connections)
if (!pos--)
break;

return _p != &rxrpc_connections ? _p : NULL;
return seq_list_start_head(&rxrpc_connections, *_pos);
}

static void *rxrpc_connection_seq_next(struct seq_file *seq, void *v,
loff_t *pos)
{
struct list_head *_p;

(*pos)++;

_p = v;
_p = (v == SEQ_START_TOKEN) ? rxrpc_connections.next : _p->next;

return _p != &rxrpc_connections ? _p : NULL;
return seq_list_next(v, &rxrpc_connections, pos);
}

static void rxrpc_connection_seq_stop(struct seq_file *seq, void *v)
Expand All @@ -168,7 +132,7 @@ static int rxrpc_connection_seq_show(struct seq_file *seq, void *v)
struct rxrpc_transport *trans;
char lbuff[4 + 4 + 4 + 4 + 5 + 1], rbuff[4 + 4 + 4 + 4 + 5 + 1];

if (v == SEQ_START_TOKEN) {
if (v == &rxrpc_connections) {
seq_puts(seq,
"Proto Local Remote "
" SvID ConnID Calls End Use State Key "
Expand Down

0 comments on commit 83e7fce

Please sign in to comment.