@@ -56,8 +56,8 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
read->data_len = cpu_to_le32(sizeof(*read) - 10);
sum = m->read_latency_sum;
jiffies_to_timespec64(sum, &ts);
- read->sec = cpu_to_le32(ts.tv_sec);
- read->nsec = cpu_to_le32(ts.tv_nsec);
+ read->lat.tv_sec = cpu_to_le32(ts.tv_sec);
+ read->lat.tv_nsec = cpu_to_le32(ts.tv_nsec);
items++;
/* encode the write latency metric */
@@ -68,8 +68,8 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
write->data_len = cpu_to_le32(sizeof(*write) - 10);
sum = m->write_latency_sum;
jiffies_to_timespec64(sum, &ts);
- write->sec = cpu_to_le32(ts.tv_sec);
- write->nsec = cpu_to_le32(ts.tv_nsec);
+ write->lat.tv_sec = cpu_to_le32(ts.tv_sec);
+ write->lat.tv_nsec = cpu_to_le32(ts.tv_nsec);
items++;
/* encode the metadata latency metric */
@@ -80,8 +80,8 @@ static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc,
meta->data_len = cpu_to_le32(sizeof(*meta) - 10);
sum = m->metadata_latency_sum;
jiffies_to_timespec64(sum, &ts);
- meta->sec = cpu_to_le32(ts.tv_sec);
- meta->nsec = cpu_to_le32(ts.tv_nsec);
+ meta->lat.tv_sec = cpu_to_le32(ts.tv_sec);
+ meta->lat.tv_nsec = cpu_to_le32(ts.tv_nsec);
items++;
/* encode the dentry lease metric */
@@ -2,7 +2,7 @@
#ifndef _FS_CEPH_MDS_METRIC_H
#define _FS_CEPH_MDS_METRIC_H
-#include <linux/types.h>
+#include <linux/ceph/types.h>
#include <linux/percpu_counter.h>
#include <linux/ktime.h>
@@ -52,9 +52,8 @@ struct ceph_metric_read_latency {
__u8 ver;
__u8 compat;
- __le32 data_len; /* length of sizeof(sec + nsec) */
- __le32 sec;
- __le32 nsec;
+ __le32 data_len; /* length of sizeof(lat) */
+ struct ceph_timespec lat;
} __packed;
/* metric write latency header */
@@ -64,9 +63,8 @@ struct ceph_metric_write_latency {
__u8 ver;
__u8 compat;
- __le32 data_len; /* length of sizeof(sec + nsec) */
- __le32 sec;
- __le32 nsec;
+ __le32 data_len; /* length of sizeof(lat) */
+ struct ceph_timespec lat;
} __packed;
/* metric metadata latency header */
@@ -76,9 +74,8 @@ struct ceph_metric_metadata_latency {
__u8 ver;
__u8 compat;
- __le32 data_len; /* length of sizeof(sec + nsec) */
- __le32 sec;
- __le32 nsec;
+ __le32 data_len; /* length of sizeof(lat) */
+ struct ceph_timespec lat;
} __packed;
/* metric dentry lease header */
Signed-off-by: Venky Shankar <vshankar@redhat.com> --- fs/ceph/metric.c | 12 ++++++------ fs/ceph/metric.h | 17 +++++++---------- 2 files changed, 13 insertions(+), 16 deletions(-)