Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[cascardo/linux.git] / net / ipv6 / proc.c
index 566798d..d082eae 100644 (file)
@@ -174,17 +174,28 @@ static void snmp6_seq_show_item(struct seq_file *seq, void __percpu **mib,
                                const struct snmp_mib *itemlist)
 {
        int i;
-       for (i=0; itemlist[i].name; i++)
+
+       for (i = 0; itemlist[i].name; i++)
                seq_printf(seq, "%-32s\t%lu\n", itemlist[i].name,
                           snmp_fold_field(mib, itemlist[i].entry));
 }
 
+static void snmp6_seq_show_item64(struct seq_file *seq, void __percpu **mib,
+                                 const struct snmp_mib *itemlist, size_t syncpoff)
+{
+       int i;
+
+       for (i = 0; itemlist[i].name; i++)
+               seq_printf(seq, "%-32s\t%llu\n", itemlist[i].name,
+                          snmp_fold_field64(mib, itemlist[i].entry, syncpoff));
+}
+
 static int snmp6_seq_show(struct seq_file *seq, void *v)
 {
        struct net *net = (struct net *)seq->private;
 
-       snmp6_seq_show_item(seq, (void __percpu **)net->mib.ipv6_statistics,
-                           snmp6_ipstats_list);
+       snmp6_seq_show_item64(seq, (void __percpu **)net->mib.ipv6_statistics,
+                           snmp6_ipstats_list, offsetof(struct ipstats_mib, syncp));
        snmp6_seq_show_item(seq, (void __percpu **)net->mib.icmpv6_statistics,
                            snmp6_icmp6_list);
        snmp6_seq_show_icmpv6msg(seq,