aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/flexfilelayout/flexfilelayout.h
diff options
context:
space:
mode:
authorPeng Tao <tao.peng@primarydata.com>2015-06-23 19:52:04 +0800
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-06-24 10:54:23 -0400
commit97ba375b5df43790aa82c256f7f16ee8eb95c272 (patch)
treea80da1b7f734307f02766c3dee4b5fa0d0654b29 /fs/nfs/flexfilelayout/flexfilelayout.h
parentnfs42: serialize LAYOUTSTATS calls of the same file (diff)
downloadlinux-dev-97ba375b5df43790aa82c256f7f16ee8eb95c272.tar.xz
linux-dev-97ba375b5df43790aa82c256f7f16ee8eb95c272.zip
pnfs/flexfiles: report layoutstat regularly
As a simple scheme, report every minute if IO is still going on. Reviewed-by: Jeff Layton <jeff.layton@primarydata.com> Signed-off-by: Peng Tao <tao.peng@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to '')
-rw-r--r--fs/nfs/flexfilelayout/flexfilelayout.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/flexfilelayout/flexfilelayout.h b/fs/nfs/flexfilelayout/flexfilelayout.h
index 7e248874f46d..6fcd8d5e8e3d 100644
--- a/fs/nfs/flexfilelayout/flexfilelayout.h
+++ b/fs/nfs/flexfilelayout/flexfilelayout.h
@@ -15,6 +15,9 @@
* due to network error etc. */
#define NFS4_FLEXFILE_LAYOUT_MAX_MIRROR_CNT 4096
+/* LAYOUTSTATS report interval in ms */
+#define FF_LAYOUTSTATS_REPORT_INTERVAL (60000L)
+
struct nfs4_ff_ds_version {
u32 version;
u32 minor_version;
@@ -62,6 +65,7 @@ struct nfs4_ff_layoutstat {
};
struct nfs4_ff_layout_mirror {
+ struct pnfs_layout_segment *lseg; /* back pointer */
u32 ds_count;
u32 efficiency;
struct nfs4_ff_layout_ds *mirror_ds;
@@ -75,7 +79,7 @@ struct nfs4_ff_layout_mirror {
struct nfs4_ff_layoutstat read_stat;
struct nfs4_ff_layoutstat write_stat;
ktime_t start_time;
- struct pnfs_layout_segment *lseg; /* back pointer */
+ ktime_t last_report_time;
};
struct nfs4_ff_layout_segment {