lkml.org 
[lkml]   [2022]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
    Date
    Use DEFINE_SHOW_ATTRIBUTE helper macro to simplify the code.

    nfsd_net is converted from seq_file->file instead of seq_file->private in
    nfsd_reply_cache_stats_show().

    Signed-off-by: ChenXiaoSong <chenxiaosong2@huawei.com>
    ---
    fs/nfsd/cache.h | 2 +-
    fs/nfsd/nfscache.c | 13 +++----------
    fs/nfsd/nfsctl.c | 9 ++-------
    3 files changed, 6 insertions(+), 18 deletions(-)

    diff --git a/fs/nfsd/cache.h b/fs/nfsd/cache.h
    index 65c331f75e9c..f21259ead64b 100644
    --- a/fs/nfsd/cache.h
    +++ b/fs/nfsd/cache.h
    @@ -84,6 +84,6 @@ int nfsd_reply_cache_init(struct nfsd_net *);
    void nfsd_reply_cache_shutdown(struct nfsd_net *);
    int nfsd_cache_lookup(struct svc_rqst *);
    void nfsd_cache_update(struct svc_rqst *, int, __be32 *);
    -int nfsd_reply_cache_stats_open(struct inode *, struct file *);
    +int nfsd_reply_cache_stats_show(struct seq_file *m, void *v);

    #endif /* NFSCACHE_H */
    diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
    index 9b31e1103e7b..3e64a3d50a1c 100644
    --- a/fs/nfsd/nfscache.c
    +++ b/fs/nfsd/nfscache.c
    @@ -604,9 +604,10 @@ nfsd_cache_append(struct svc_rqst *rqstp, struct kvec *data)
    * scraping this file for info should test the labels to ensure they're
    * getting the correct field.
    */
    -static int nfsd_reply_cache_stats_show(struct seq_file *m, void *v)
    +int nfsd_reply_cache_stats_show(struct seq_file *m, void *v)
    {
    - struct nfsd_net *nn = m->private;
    + struct nfsd_net *nn = net_generic(file_inode(m->file)->i_sb->s_fs_info,
    + nfsd_net_id);

    seq_printf(m, "max entries: %u\n", nn->max_drc_entries);
    seq_printf(m, "num entries: %u\n",
    @@ -626,11 +627,3 @@ static int nfsd_reply_cache_stats_show(struct seq_file *m, void *v)
    seq_printf(m, "cachesize at longest: %u\n", nn->longest_chain_cachesize);
    return 0;
    }
    -
    -int nfsd_reply_cache_stats_open(struct inode *inode, struct file *file)
    -{
    - struct nfsd_net *nn = net_generic(file_inode(file)->i_sb->s_fs_info,
    - nfsd_net_id);
    -
    - return single_open(file, nfsd_reply_cache_stats_show, nn);
    -}
    diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
    index 51360d0bf424..faaedefec94c 100644
    --- a/fs/nfsd/nfsctl.c
    +++ b/fs/nfsd/nfsctl.c
    @@ -204,12 +204,7 @@ static const struct file_operations pool_stats_operations = {
    .release = nfsd_pool_stats_release,
    };

    -static const struct file_operations reply_cache_stats_operations = {
    - .open = nfsd_reply_cache_stats_open,
    - .read = seq_read,
    - .llseek = seq_lseek,
    - .release = single_release,
    -};
    +DEFINE_SHOW_ATTRIBUTE(nfsd_reply_cache_stats);

    static const struct file_operations filecache_ops = {
    .open = nfsd_file_cache_stats_open,
    @@ -1354,7 +1349,7 @@ static int nfsd_fill_super(struct super_block *sb, struct fs_context *fc)
    [NFSD_Threads] = {"threads", &transaction_ops, S_IWUSR|S_IRUSR},
    [NFSD_Pool_Threads] = {"pool_threads", &transaction_ops, S_IWUSR|S_IRUSR},
    [NFSD_Pool_Stats] = {"pool_stats", &pool_stats_operations, S_IRUGO},
    - [NFSD_Reply_Cache_Stats] = {"reply_cache_stats", &reply_cache_stats_operations, S_IRUGO},
    + [NFSD_Reply_Cache_Stats] = {"reply_cache_stats", &nfsd_reply_cache_stats_fops, S_IRUGO},
    [NFSD_Versions] = {"versions", &transaction_ops, S_IWUSR|S_IRUSR},
    [NFSD_Ports] = {"portlist", &transaction_ops, S_IWUSR|S_IRUGO},
    [NFSD_MaxBlkSize] = {"max_block_size", &transaction_ops, S_IWUSR|S_IRUGO},
    --
    2.31.1
    \
     
     \ /
      Last update: 2022-09-22 17:32    [W:5.013 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site