summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ceph/debugfs.c6
-rw-r--r--fs/ceph/osd_client.c2
-rw-r--r--fs/ceph/osd_client.h1
3 files changed, 7 insertions, 2 deletions
diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index 22d3b47fb1be..fba44b2a6086 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -231,8 +231,10 @@ static int osdc_show(struct seq_file *s, void *pp)
req = rb_entry(p, struct ceph_osd_request, r_node);
- seq_printf(s, "%lld\tosd%d\t", req->r_tid,
- req->r_osd ? req->r_osd->o_osd : -1);
+ seq_printf(s, "%lld\tosd%d\t%d.%x\t", req->r_tid,
+ req->r_osd ? req->r_osd->o_osd : -1,
+ le32_to_cpu(req->r_pgid.pool),
+ le16_to_cpu(req->r_pgid.ps));
head = req->r_request->front.iov_base;
op = (void *)(head + 1);
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c
index 80b868f7a0fc..8417e21a3cb2 100644
--- a/fs/ceph/osd_client.c
+++ b/fs/ceph/osd_client.c
@@ -538,6 +538,8 @@ static int __map_osds(struct ceph_osd_client *osdc,
if (err)
return err;
pgid = reqhead->layout.ol_pgid;
+ req->r_pgid = pgid;
+
o = ceph_calc_pg_primary(osdc->osdmap, pgid);
if ((req->r_osd && req->r_osd->o_osd == o &&
diff --git a/fs/ceph/osd_client.h b/fs/ceph/osd_client.h
index 8fef71cc4457..4162c6810a8f 100644
--- a/fs/ceph/osd_client.h
+++ b/fs/ceph/osd_client.h
@@ -42,6 +42,7 @@ struct ceph_osd_request {
struct rb_node r_node;
struct list_head r_osd_item;
struct ceph_osd *r_osd;
+ struct ceph_pg r_pgid;
struct ceph_connection *r_con_filling_pages;