[TCP]: Place file operations directly into tcp_seq_afinfo.
authorDenis V. Lunev <den@openvz.org>
Mon, 14 Apr 2008 05:13:30 +0000 (22:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Apr 2008 05:13:30 +0000 (22:13 -0700)
No need to have separate never-used variable.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c

index 2c9a650412c0b0541fc60f309f7a80a629738736..93479ebf3e33a532a984bd99b05af52c577b4d60 100644 (file)
@@ -1328,7 +1328,7 @@ struct tcp_seq_afinfo {
        struct module           *owner;
        char                    *name;
        sa_family_t             family;
-       struct file_operations  *seq_fops;
+       struct file_operations  seq_fops;
        struct seq_operations   seq_ops;
 };
 
index 840346b390d738d4943df6a37fd783034fa37bf8..3696c83aec19520861762b94472e546748e3e4c2 100644 (file)
@@ -2232,17 +2232,17 @@ int tcp_proc_register(struct net *net, struct tcp_seq_afinfo *afinfo)
        int rc = 0;
        struct proc_dir_entry *p;
 
-       afinfo->seq_fops->owner         = afinfo->owner;
-       afinfo->seq_fops->open          = tcp_seq_open;
-       afinfo->seq_fops->read          = seq_read;
-       afinfo->seq_fops->llseek        = seq_lseek;
-       afinfo->seq_fops->release       = seq_release_net;
+       afinfo->seq_fops.owner          = afinfo->owner;
+       afinfo->seq_fops.open           = tcp_seq_open;
+       afinfo->seq_fops.read           = seq_read;
+       afinfo->seq_fops.llseek         = seq_lseek;
+       afinfo->seq_fops.release        = seq_release_net;
 
        afinfo->seq_ops.start           = tcp_seq_start;
        afinfo->seq_ops.next            = tcp_seq_next;
        afinfo->seq_ops.stop            = tcp_seq_stop;
 
-       p = proc_net_fops_create(net, afinfo->name, S_IRUGO, afinfo->seq_fops);
+       p = proc_net_fops_create(net, afinfo->name, S_IRUGO, &afinfo->seq_fops);
        if (p)
                p->data = afinfo;
        else
@@ -2253,7 +2253,6 @@ int tcp_proc_register(struct net *net, struct tcp_seq_afinfo *afinfo)
 void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo)
 {
        proc_net_remove(net, afinfo->name);
-       memset(afinfo->seq_fops, 0, sizeof(*afinfo->seq_fops));
 }
 
 static void get_openreq4(struct sock *sk, struct request_sock *req,
@@ -2382,12 +2381,10 @@ out:
        return 0;
 }
 
-static struct file_operations tcp4_seq_fops;
 static struct tcp_seq_afinfo tcp4_seq_afinfo = {
        .owner          = THIS_MODULE,
        .name           = "tcp",
        .family         = AF_INET,
-       .seq_fops       = &tcp4_seq_fops,
        .seq_ops        = {
                .show           = tcp4_seq_show,
        },
index 8bf59ee51cdb4f1642edada82bd9ef1c5149ec84..e33a3dc7a0005a181811dd7730a1deb33f7cd30c 100644 (file)
@@ -2120,12 +2120,10 @@ out:
        return 0;
 }
 
-static struct file_operations tcp6_seq_fops;
 static struct tcp_seq_afinfo tcp6_seq_afinfo = {
        .owner          = THIS_MODULE,
        .name           = "tcp6",
        .family         = AF_INET6,
-       .seq_fops       = &tcp6_seq_fops,
        .seq_ops        = {
                .show           = tcp6_seq_show,
        },