lkml.org 
[lkml]   [2009]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 42/43] NFS: Display local caching state [ver #46]
    Date
    Display the local caching state in /proc/fs/nfsfs/volumes.

    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Steve Dickson <steved@redhat.com>
    Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    ---

    fs/nfs/client.c | 7 ++++---
    fs/nfs/fscache.h | 15 +++++++++++++++
    2 files changed, 19 insertions(+), 3 deletions(-)


    diff --git a/fs/nfs/client.c b/fs/nfs/client.c
    index aa04da8..726fe5a 100644
    --- a/fs/nfs/client.c
    +++ b/fs/nfs/client.c
    @@ -1564,7 +1564,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v)

    /* display header on line 1 */
    if (v == &nfs_volume_list) {
    - seq_puts(m, "NV SERVER PORT DEV FSID\n");
    + seq_puts(m, "NV SERVER PORT DEV FSID FSC\n");
    return 0;
    }
    /* display one transport per line on subsequent lines */
    @@ -1578,12 +1578,13 @@ static int nfs_volume_list_show(struct seq_file *m, void *v)
    (unsigned long long) server->fsid.major,
    (unsigned long long) server->fsid.minor);

    - seq_printf(m, "v%u %s %s %-7s %-17s\n",
    + seq_printf(m, "v%u %s %s %-7s %-17s %s\n",
    clp->rpc_ops->version,
    rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_ADDR),
    rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_PORT),
    dev,
    - fsid);
    + fsid,
    + nfs_server_fscache_state(server));

    return 0;
    }
    diff --git a/fs/nfs/fscache.h b/fs/nfs/fscache.h
    index 7eeaab4..2d43b67 100644
    --- a/fs/nfs/fscache.h
    +++ b/fs/nfs/fscache.h
    @@ -143,6 +143,16 @@ static inline void nfs_readpage_to_fscache(struct inode *inode,
    __nfs_readpage_to_fscache(inode, page, sync);
    }

    +/*
    + * indicate the client caching state as readable text
    + */
    +static inline const char *nfs_server_fscache_state(struct nfs_server *server)
    +{
    + if (server->fscache && (server->options & NFS_OPTION_FSCACHE))
    + return "yes";
    + return "no ";
    +}
    +

    #else /* CONFIG_NFS_FSCACHE */
    static inline int nfs_fscache_register(void) { return 0; }
    @@ -189,5 +199,10 @@ static inline int nfs_readpages_from_fscache(struct nfs_open_context *ctx,
    static inline void nfs_readpage_to_fscache(struct inode *inode,
    struct page *page, int sync) {}

    +static inline const char *nfs_server_fscache_state(struct nfs_server *server)
    +{
    + return "no ";
    +}
    +
    #endif /* CONFIG_NFS_FSCACHE */
    #endif /* _NFS_FSCACHE_H */


    \
     
     \ /
      Last update: 2009-04-02 01:31    [W:3.444 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site