lkml.org 
[lkml]   [2018]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 30/40] neigh: switch to proc_create_seq_data
    Date
    And use proc private data directly instead of doing a detour
    through seq->private.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    ---
    net/core/neighbour.c | 31 ++++++-------------------------
    1 file changed, 6 insertions(+), 25 deletions(-)

    diff --git a/net/core/neighbour.c b/net/core/neighbour.c
    index ce519861be59..1fb43bff417d 100644
    --- a/net/core/neighbour.c
    +++ b/net/core/neighbour.c
    @@ -59,7 +59,7 @@ static int pneigh_ifdown_and_unlock(struct neigh_table *tbl,
    struct net_device *dev);

    #ifdef CONFIG_PROC_FS
    -static const struct file_operations neigh_stat_seq_fops;
    +static const struct seq_operations neigh_stat_seq_ops;
    #endif

    /*
    @@ -1558,8 +1558,8 @@ void neigh_table_init(int index, struct neigh_table *tbl)
    panic("cannot create neighbour cache statistics");

    #ifdef CONFIG_PROC_FS
    - if (!proc_create_data(tbl->id, 0, init_net.proc_net_stat,
    - &neigh_stat_seq_fops, tbl))
    + if (!proc_create_seq_data(tbl->id, 0, init_net.proc_net_stat,
    + &neigh_stat_seq_ops, tbl))
    panic("cannot create neighbour proc dir entry");
    #endif

    @@ -2786,7 +2786,7 @@ EXPORT_SYMBOL(neigh_seq_stop);

    static void *neigh_stat_seq_start(struct seq_file *seq, loff_t *pos)
    {
    - struct neigh_table *tbl = seq->private;
    + struct neigh_table *tbl = PDE_DATA(file_inode(seq->file));
    int cpu;

    if (*pos == 0)
    @@ -2803,7 +2803,7 @@ static void *neigh_stat_seq_start(struct seq_file *seq, loff_t *pos)

    static void *neigh_stat_seq_next(struct seq_file *seq, void *v, loff_t *pos)
    {
    - struct neigh_table *tbl = seq->private;
    + struct neigh_table *tbl = PDE_DATA(file_inode(seq->file));
    int cpu;

    for (cpu = *pos; cpu < nr_cpu_ids; ++cpu) {
    @@ -2822,7 +2822,7 @@ static void neigh_stat_seq_stop(struct seq_file *seq, void *v)

    static int neigh_stat_seq_show(struct seq_file *seq, void *v)
    {
    - struct neigh_table *tbl = seq->private;
    + struct neigh_table *tbl = PDE_DATA(file_inode(seq->file));
    struct neigh_statistics *st = v;

    if (v == SEQ_START_TOKEN) {
    @@ -2861,25 +2861,6 @@ static const struct seq_operations neigh_stat_seq_ops = {
    .stop = neigh_stat_seq_stop,
    .show = neigh_stat_seq_show,
    };
    -
    -static int neigh_stat_seq_open(struct inode *inode, struct file *file)
    -{
    - int ret = seq_open(file, &neigh_stat_seq_ops);
    -
    - if (!ret) {
    - struct seq_file *sf = file->private_data;
    - sf->private = PDE_DATA(inode);
    - }
    - return ret;
    -};
    -
    -static const struct file_operations neigh_stat_seq_fops = {
    - .open = neigh_stat_seq_open,
    - .read = seq_read,
    - .llseek = seq_lseek,
    - .release = seq_release,
    -};
    -
    #endif /* CONFIG_PROC_FS */

    static inline size_t neigh_nlmsg_size(void)
    --
    2.17.0
    \
     
     \ /
      Last update: 2018-04-25 18:04    [W:4.238 / U:0.896 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site