Commit 5d1acff1 authored by David Howells's avatar David Howells

NFS: Display local caching state

Display the local caching state in /proc/fs/nfsfs/volumes.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Acked-by: default avatarSteve Dickson <steved@redhat.com>
Acked-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Tested-by: default avatarDaire Byrne <Daire.Byrne@framestore.com>
parent 7f8e05f6
...@@ -1564,7 +1564,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v) ...@@ -1564,7 +1564,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v)
/* display header on line 1 */ /* display header on line 1 */
if (v == &nfs_volume_list) { 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; return 0;
} }
/* display one transport per line on subsequent lines */ /* display one transport per line on subsequent lines */
...@@ -1578,12 +1578,13 @@ static int nfs_volume_list_show(struct seq_file *m, void *v) ...@@ -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.major,
(unsigned long long) server->fsid.minor); (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, clp->rpc_ops->version,
rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_ADDR), rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_ADDR),
rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_PORT), rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_PORT),
dev, dev,
fsid); fsid,
nfs_server_fscache_state(server));
return 0; return 0;
} }
......
...@@ -153,6 +153,16 @@ static inline void nfs_readpage_to_fscache(struct inode *inode, ...@@ -153,6 +153,16 @@ static inline void nfs_readpage_to_fscache(struct inode *inode,
__nfs_readpage_to_fscache(inode, page, sync); __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 */ #else /* CONFIG_NFS_FSCACHE */
static inline int nfs_fscache_register(void) { return 0; } static inline int nfs_fscache_register(void) { return 0; }
...@@ -201,5 +211,10 @@ static inline int nfs_readpages_from_fscache(struct nfs_open_context *ctx, ...@@ -201,5 +211,10 @@ static inline int nfs_readpages_from_fscache(struct nfs_open_context *ctx,
static inline void nfs_readpage_to_fscache(struct inode *inode, static inline void nfs_readpage_to_fscache(struct inode *inode,
struct page *page, int sync) {} struct page *page, int sync) {}
static inline const char *nfs_server_fscache_state(struct nfs_server *server)
{
return "no ";
}
#endif /* CONFIG_NFS_FSCACHE */ #endif /* CONFIG_NFS_FSCACHE */
#endif /* _NFS_FSCACHE_H */ #endif /* _NFS_FSCACHE_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment