diff --git a/net/ceph/mon_client.c b/net/ceph/mon_client.c
index 013cbdb6cfe2..c5db73da1c3d 100644
--- a/net/ceph/mon_client.c
+++ b/net/ceph/mon_client.c
@@ -141,7 +141,8 @@ static struct ceph_monmap *ceph_monmap_decode(void **p, void *end, bool msgr2)
 		if (ret)
 			goto fail;
 
-		dout("%s mon%d addr %s\n", __func__, i,
+		dout("%s mon%d(fsid=%pU) addr %s\n", __func__,
+		     i, &monmap->fsid,
 		     ceph_pr_addr(&inst->addr));
 	}
 
@@ -187,7 +188,8 @@ static void __send_prepared_auth_request(struct ceph_mon_client *monc, int len)
  */
 static void __close_session(struct ceph_mon_client *monc)
 {
-	dout("__close_session closing mon%d\n", monc->cur_mon);
+	dout("__close_session closing mon%d(fsid=%pU)\n", monc->cur_mon,
+		&monc->client->fsid);
 	ceph_msg_revoke(monc->m_auth);
 	ceph_msg_revoke_incoming(monc->m_auth_reply);
 	ceph_msg_revoke(monc->m_subscribe);
@@ -229,8 +231,8 @@ static void pick_new_mon(struct ceph_mon_client *monc)
 		monc->cur_mon = n;
 	}
 
-	dout("%s mon%d -> mon%d out of %d mons\n", __func__, old_mon,
-	     monc->cur_mon, monc->monmap->num_mon);
+	dout("%s mon%d(fsid=%pU) -> mon%d out of %d mons\n", __func__, old_mon,
+	     &monc->client->fsid, monc->cur_mon, monc->monmap->num_mon);
 }
 
 /*
@@ -252,7 +254,8 @@ static void __open_session(struct ceph_mon_client *monc)
 	monc->sub_renew_after = jiffies; /* i.e., expired */
 	monc->sub_renew_sent = 0;
 
-	dout("%s opening mon%d\n", __func__, monc->cur_mon);
+	dout("%s opening mon%d(fsid=%pU)\n", __func__,
+		monc->cur_mon, &monc->client->fsid);
 	ceph_con_open(&monc->con, CEPH_ENTITY_TYPE_MON, monc->cur_mon,
 		      &monc->monmap->mon_inst[monc->cur_mon].addr);
 
@@ -279,8 +282,8 @@ static void __open_session(struct ceph_mon_client *monc)
 static void reopen_session(struct ceph_mon_client *monc)
 {
 	if (!monc->hunting)
-		pr_info("mon%d %s session lost, hunting for new mon\n",
-		    monc->cur_mon, ceph_pr_addr(&monc->con.peer_addr));
+		pr_info("mon%d(fsid=%pU) %s session lost, hunting for new mon\n",
+		    monc->cur_mon, &monc->client->fsid, ceph_pr_addr(&monc->con.peer_addr));
 
 	__close_session(monc);
 	__open_session(monc);
@@ -1264,7 +1267,8 @@ EXPORT_SYMBOL(ceph_monc_stop);
 static void finish_hunting(struct ceph_mon_client *monc)
 {
 	if (monc->hunting) {
-		dout("%s found mon%d\n", __func__, monc->cur_mon);
+		dout("%s found mon%d(fsid=%pU)\n", __func__,
+			monc->cur_mon, &monc->client->fsid);
 		monc->hunting = false;
 		monc->had_a_connection = true;
 		un_backoff(monc);
@@ -1296,7 +1300,8 @@ static void finish_auth(struct ceph_mon_client *monc, int auth_err,
 		__send_subscribe(monc);
 		__resend_generic_request(monc);
 
-		pr_info("mon%d %s session established\n", monc->cur_mon,
+		pr_info("mon%d(fsid=%pU) %s session established\n", monc->cur_mon,
+			monc->client->fsid,
 			ceph_pr_addr(&monc->con.peer_addr));
 	}
 }
@@ -1547,7 +1552,8 @@ static void mon_fault(struct ceph_connection *con)
 	struct ceph_mon_client *monc = con->private;
 
 	mutex_lock(&monc->mutex);
-	dout("%s mon%d\n", __func__, monc->cur_mon);
+	dout("%s mon%d(fsid=%pU)\n", __func__, monc->cur_mon,
+		&monc->client->fsid);
 	if (monc->cur_mon >= 0) {
 		if (!monc->hunting) {
 			dout("%s hunting for new mon\n", __func__);
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index ff8624a7c964..5bb47b20f288 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -1271,7 +1271,8 @@ static void __move_osd_to_lru(struct ceph_osd *osd)
 {
 	struct ceph_osd_client *osdc = osd->o_osdc;
 
-	dout("%s osd %p osd%d\n", __func__, osd, osd->o_osd);
+	dout("%s osd %p osd%d(fsid=%pU)\n", __func__, osd, osd->o_osd,
+		&osd->o_osdc->client->fsid);
 	BUG_ON(!list_empty(&osd->o_osd_lru));
 
 	spin_lock(&osdc->osd_lru_lock);
@@ -1292,7 +1293,8 @@ static void __remove_osd_from_lru(struct ceph_osd *osd)
 {
 	struct ceph_osd_client *osdc = osd->o_osdc;
 
-	dout("%s osd %p osd%d\n", __func__, osd, osd->o_osd);
+	dout("%s osd %p osd%d(fsid=%pU)\n", __func__, osd, osd->o_osd,
+		&osd->o_osdc->client->fsid);
 
 	spin_lock(&osdc->osd_lru_lock);
 	if (!list_empty(&osd->o_osd_lru))
@@ -1310,7 +1312,8 @@ static void close_osd(struct ceph_osd *osd)
 	struct rb_node *n;
 
 	verify_osdc_wrlocked(osdc);
-	dout("%s osd %p osd%d\n", __func__, osd, osd->o_osd);
+	dout("%s osd %p osd%d(fsid=%pU)\n", __func__, osd, osd->o_osd,
+		&osdc->client->fsid);
 
 	ceph_con_close(&osd->o_con);
 
@@ -1349,7 +1352,8 @@ static int reopen_osd(struct ceph_osd *osd)
 {
 	struct ceph_entity_addr *peer_addr;
 
-	dout("%s osd %p osd%d\n", __func__, osd, osd->o_osd);
+	dout("%s osd %p osd%d(fsid=%pU)\n", __func__, osd, osd->o_osd,
+		&osd->o_osdc->client->fsid);
 
 	if (RB_EMPTY_ROOT(&osd->o_requests) &&
 	    RB_EMPTY_ROOT(&osd->o_linger_requests)) {
@@ -1405,7 +1409,8 @@ static struct ceph_osd *lookup_create_osd(struct ceph_osd_client *osdc, int o,
 			      &osdc->osdmap->osd_addr[osd->o_osd]);
 	}
 
-	dout("%s osdc %p osd%d -> osd %p\n", __func__, osdc, o, osd);
+	dout("%s osdc %p osd%d(fsid=%pU) -> osd %p\n", __func__, osdc, o,
+		&osdc->client->fsid, osd);
 	return osd;
 }
 
@@ -1418,8 +1423,8 @@ static void link_request(struct ceph_osd *osd, struct ceph_osd_request *req)
 {
 	verify_osd_locked(osd);
 	WARN_ON(!req->r_tid || req->r_osd);
-	dout("%s osd %p osd%d req %p tid %llu\n", __func__, osd, osd->o_osd,
-	     req, req->r_tid);
+	dout("%s osd %p osd%d(fsid=%pU) req %p tid %llu\n", __func__, osd,
+		osd->o_osd, &osd->o_osdc->client->fsid, req, req->r_tid);
 
 	if (!osd_homeless(osd))
 		__remove_osd_from_lru(osd);
@@ -1435,8 +1440,8 @@ static void unlink_request(struct ceph_osd *osd, struct ceph_osd_request *req)
 {
 	verify_osd_locked(osd);
 	WARN_ON(req->r_osd != osd);
-	dout("%s osd %p osd%d req %p tid %llu\n", __func__, osd, osd->o_osd,
-	     req, req->r_tid);
+	dout("%s osd %p osd%d(fsid=%pU) req %p tid %llu\n", __func__, osd,
+		osd->o_osd, &osd->o_osdc->client->fsid, req, req->r_tid);
 
 	req->r_osd = NULL;
 	erase_request(&osd->o_requests, req);
@@ -1498,12 +1503,12 @@ static bool target_should_be_paused(struct ceph_osd_client *osdc,
 	       (osdc->osdmap->epoch < osdc->epoch_barrier);
 }
 
-static int pick_random_replica(const struct ceph_osds *acting)
+static int pick_random_replica(struct ceph_osd_client *osdc, const struct ceph_osds *acting)
 {
 	int i = prandom_u32() % acting->size;
 
-	dout("%s picked osd%d, primary osd%d\n", __func__,
-	     acting->osds[i], acting->primary);
+	dout("%s picked osd%d(fsid=%pU), primary osd%d\n", __func__,
+	     acting->osds[i], &osdc->client->fsid, acting->primary);
 	return i;
 }
 
@@ -1532,8 +1537,9 @@ static int pick_closest_replica(struct ceph_osd_client *osdc,
 		}
 	} while (++i < acting->size);
 
-	dout("%s picked osd%d with locality %d, primary osd%d\n", __func__,
-	     acting->osds[best_i], best_locality, acting->primary);
+	dout("%s picked osd%d(fsid=%pU) with locality %d, primary osd%d\n", __func__,
+	     acting->osds[best_i], &osdc->client->fsid,
+		 best_locality, acting->primary);
 	return best_i;
 }
 
@@ -1648,7 +1654,7 @@ static enum calc_target_result calc_target(struct ceph_osd_client *osdc,
 
 			WARN_ON(!is_read || acting.osds[0] != acting.primary);
 			if (t->flags & CEPH_OSD_FLAG_BALANCE_READS) {
-				pos = pick_random_replica(&acting);
+				pos = pick_random_replica(osdc, &acting);
 			} else {
 				pos = pick_closest_replica(osdc, &acting);
 			}
@@ -1666,8 +1672,8 @@ static enum calc_target_result calc_target(struct ceph_osd_client *osdc,
 		ct_res = CALC_TARGET_NO_ACTION;
 
 out:
-	dout("%s t %p -> %d%d%d%d ct_res %d osd%d\n", __func__, t, unpaused,
-	     legacy_change, force_resend, split, ct_res, t->osd);
+	dout("%s t %p -> %d%d%d%d ct_res %d osd%d(fsid=%pU)\n", __func__, t, unpaused,
+	     legacy_change, force_resend, split, ct_res, t->osd, &osdc->client->fsid);
 	return ct_res;
 }
 
@@ -1987,9 +1993,10 @@ static bool should_plug_request(struct ceph_osd_request *req)
 	if (!backoff)
 		return false;
 
-	dout("%s req %p tid %llu backoff osd%d spgid %llu.%xs%d id %llu\n",
-	     __func__, req, req->r_tid, osd->o_osd, backoff->spgid.pgid.pool,
-	     backoff->spgid.pgid.seed, backoff->spgid.shard, backoff->id);
+	dout("%s req %p tid %llu backoff osd%d(fsid=%pU) spgid %llu.%xs%d id %llu\n",
+	     __func__, req, req->r_tid, osd->o_osd, &osd->o_osdc->client->fsid,
+		 backoff->spgid.pgid.pool, backoff->spgid.pgid.seed, backoff->spgid.shard,
+		 backoff->id);
 	return true;
 }
 
@@ -2296,11 +2303,11 @@ static void send_request(struct ceph_osd_request *req)
 
 	encode_request_partial(req, req->r_request);
 
-	dout("%s req %p tid %llu to pgid %llu.%x spgid %llu.%xs%d osd%d e%u flags 0x%x attempt %d\n",
+	dout("%s req %p tid %llu to pgid %llu.%x spgid %llu.%xs%d osd%d(fsid=%pU) e%u flags 0x%x attempt %d\n",
 	     __func__, req, req->r_tid, req->r_t.pgid.pool, req->r_t.pgid.seed,
 	     req->r_t.spgid.pgid.pool, req->r_t.spgid.pgid.seed,
-	     req->r_t.spgid.shard, osd->o_osd, req->r_t.epoch, req->r_flags,
-	     req->r_attempts);
+	     req->r_t.spgid.shard, osd->o_osd, &osd->o_osdc->client->fsid,
+		 req->r_t.epoch, req->r_flags, req->r_attempts);
 
 	req->r_t.paused = false;
 	req->r_stamp = jiffies;
@@ -2788,8 +2795,8 @@ static void link_linger(struct ceph_osd *osd,
 {
 	verify_osd_locked(osd);
 	WARN_ON(!lreq->linger_id || lreq->osd);
-	dout("%s osd %p osd%d lreq %p linger_id %llu\n", __func__, osd,
-	     osd->o_osd, lreq, lreq->linger_id);
+	dout("%s osd %p osd%d(fsid=%pU) lreq %p linger_id %llu\n", __func__, osd,
+	     osd->o_osd, &osd->o_osdc->client->fsid, lreq, lreq->linger_id);
 
 	if (!osd_homeless(osd))
 		__remove_osd_from_lru(osd);
@@ -2806,8 +2813,8 @@ static void unlink_linger(struct ceph_osd *osd,
 {
 	verify_osd_locked(osd);
 	WARN_ON(lreq->osd != osd);
-	dout("%s osd %p osd%d lreq %p linger_id %llu\n", __func__, osd,
-	     osd->o_osd, lreq, lreq->linger_id);
+	dout("%s osd %p osd%d(fsid=%pU) lreq %p linger_id %llu\n", __func__, osd,
+	     osd->o_osd, &osd->o_osdc->client->fsid, lreq, lreq->linger_id);
 
 	lreq->osd = NULL;
 	erase_linger(&osd->o_linger_requests, lreq);
@@ -3357,14 +3364,14 @@ static void handle_timeout(struct work_struct *work)
 			p = rb_next(p); /* abort_request() */
 
 			if (time_before(req->r_stamp, cutoff)) {
-				dout(" req %p tid %llu on osd%d is laggy\n",
-				     req, req->r_tid, osd->o_osd);
+				dout(" req %p tid %llu on osd%d(fsid=%pU) is laggy\n",
+				     req, req->r_tid, osd->o_osd, &osdc->client->fsid);
 				found = true;
 			}
 			if (opts->osd_request_timeout &&
 			    time_before(req->r_start_stamp, expiry_cutoff)) {
-				pr_err_ratelimited("tid %llu on osd%d timeout\n",
-				       req->r_tid, osd->o_osd);
+				pr_err_ratelimited("tid %llu on osd%d(fsid=%pU) timeout\n",
+				       req->r_tid, osd->o_osd, &osdc->client->fsid);
 				abort_request(req, -ETIMEDOUT);
 			}
 		}
@@ -3372,8 +3379,8 @@ static void handle_timeout(struct work_struct *work)
 			struct ceph_osd_linger_request *lreq =
 			    rb_entry(p, struct ceph_osd_linger_request, node);
 
-			dout(" lreq %p linger_id %llu is served by osd%d\n",
-			     lreq, lreq->linger_id, osd->o_osd);
+			dout(" lreq %p linger_id %llu is served by osd%d(fsid=%pU)\n",
+			     lreq, lreq->linger_id, osd->o_osd, osdc->client->fsid);
 			found = true;
 
 			mutex_lock(&lreq->lock);
@@ -3394,8 +3401,9 @@ static void handle_timeout(struct work_struct *work)
 			p = rb_next(p); /* abort_request() */
 
 			if (time_before(req->r_start_stamp, expiry_cutoff)) {
-				pr_err_ratelimited("tid %llu on osd%d timeout\n",
-				       req->r_tid, osdc->homeless_osd.o_osd);
+				pr_err_ratelimited("tid %llu on osd%d(fsid=%pU) timeout\n",
+				       req->r_tid, osdc->homeless_osd.o_osd,
+					   &osdc->client->fsid);
 				abort_request(req, -ETIMEDOUT);
 			}
 		}
@@ -3662,7 +3670,8 @@ static void handle_reply(struct ceph_osd *osd, struct ceph_msg *msg)
 
 	down_read(&osdc->lock);
 	if (!osd_registered(osd)) {
-		dout("%s osd%d unknown\n", __func__, osd->o_osd);
+		dout("%s osd%d(fsid=%pU) unknown\n", __func__, osd->o_osd,
+			&osd->o_osdc->client->fsid);
 		goto out_unlock_osdc;
 	}
 	WARN_ON(osd->o_osd != le64_to_cpu(msg->hdr.src.num));
@@ -3670,7 +3679,8 @@ static void handle_reply(struct ceph_osd *osd, struct ceph_msg *msg)
 	mutex_lock(&osd->lock);
 	req = lookup_request(&osd->o_requests, tid);
 	if (!req) {
-		dout("%s osd%d tid %llu unknown\n", __func__, osd->o_osd, tid);
+		dout("%s osd%d(fsid=%pU) tid %llu unknown\n", __func__,
+			osd->o_osd, &osd->o_osdc->client->fsid, &tid);
 		goto out_unlock_session;
 	}
 
@@ -4180,11 +4190,13 @@ static void osd_fault(struct ceph_connection *con)
 	struct ceph_osd *osd = con->private;
 	struct ceph_osd_client *osdc = osd->o_osdc;
 
-	dout("%s osd %p osd%d\n", __func__, osd, osd->o_osd);
+	dout("%s osd %p osd%d(fsid=%pU)\n", __func__, osd,
+		&osdc->client->fsid, osd->o_osd);
 
 	down_write(&osdc->lock);
 	if (!osd_registered(osd)) {
-		dout("%s osd%d unknown\n", __func__, osd->o_osd);
+		dout("%s osd%d(fsid=%pU) unknown\n", __func__,
+			osd->o_osd, &osdc->client->fsid);
 		goto out_unlock;
 	}
 
@@ -4299,7 +4311,8 @@ static void handle_backoff_block(struct ceph_osd *osd, struct MOSDBackoff *m)
 	struct ceph_osd_backoff *backoff;
 	struct ceph_msg *msg;
 
-	dout("%s osd%d spgid %llu.%xs%d id %llu\n", __func__, osd->o_osd,
+	dout("%s osd%d(fsid=%pU) spgid %llu.%xs%d id %llu\n", __func__,
+	     osd->o_osd, &osd->o_osdc->client->fsid,
 	     m->spgid.pgid.pool, m->spgid.pgid.seed, m->spgid.shard, m->id);
 
 	spg = lookup_spg_mapping(&osd->o_backoff_mappings, &m->spgid);
@@ -4359,21 +4372,22 @@ static void handle_backoff_unblock(struct ceph_osd *osd,
 	struct ceph_osd_backoff *backoff;
 	struct rb_node *n;
 
-	dout("%s osd%d spgid %llu.%xs%d id %llu\n", __func__, osd->o_osd,
+	dout("%s osd%d(fsid=%pU) spgid %llu.%xs%d id %llu\n", __func__,
+	     osd->o_osd, &osd->o_osdc->client->fsid,
 	     m->spgid.pgid.pool, m->spgid.pgid.seed, m->spgid.shard, m->id);
 
 	backoff = lookup_backoff_by_id(&osd->o_backoffs_by_id, m->id);
 	if (!backoff) {
-		pr_err("%s osd%d spgid %llu.%xs%d id %llu backoff dne\n",
-		       __func__, osd->o_osd, m->spgid.pgid.pool,
+		pr_err("%s osd%d(fsid=%pU) spgid %llu.%xs%d id %llu backoff dne\n",
+		       __func__, osd->o_osd, &osd->o_osdc->client->fsid, m->spgid.pgid.pool,
 		       m->spgid.pgid.seed, m->spgid.shard, m->id);
 		return;
 	}
 
 	if (hoid_compare(backoff->begin, m->begin) &&
 	    hoid_compare(backoff->end, m->end)) {
-		pr_err("%s osd%d spgid %llu.%xs%d id %llu bad range?\n",
-		       __func__, osd->o_osd, m->spgid.pgid.pool,
+		pr_err("%s osd%d(fsid=%pU) spgid %llu.%xs%d id %llu bad range?\n",
+		       __func__, osd->o_osd, osd->o_osdc->client->fsid, m->spgid.pgid.pool,
 		       m->spgid.pgid.seed, m->spgid.shard, m->id);
 		/* unblock it anyway... */
 	}
@@ -4418,7 +4432,8 @@ static void handle_backoff(struct ceph_osd *osd, struct ceph_msg *msg)
 
 	down_read(&osdc->lock);
 	if (!osd_registered(osd)) {
-		dout("%s osd%d unknown\n", __func__, osd->o_osd);
+		dout("%s osd%d(fsid=%pU) unknown\n", __func__,
+			osd->o_osd, &osd->o_osdc->client->fsid);
 		up_read(&osdc->lock);
 		return;
 	}
@@ -4440,7 +4455,8 @@ static void handle_backoff(struct ceph_osd *osd, struct ceph_msg *msg)
 		handle_backoff_unblock(osd, &m);
 		break;
 	default:
-		pr_err("%s osd%d unknown op %d\n", __func__, osd->o_osd, m.op);
+		pr_err("%s osd%d(fsid=%pU) unknown op %d\n", __func__,
+			osd->o_osd, &osd->o_osdc->client->fsid, m.op);
 	}
 
 	free_hoid(m.begin);
@@ -5459,7 +5475,8 @@ static struct ceph_msg *get_reply(struct ceph_connection *con,
 
 	down_read(&osdc->lock);
 	if (!osd_registered(osd)) {
-		dout("%s osd%d unknown, skipping\n", __func__, osd->o_osd);
+		dout("%s osd%d(fsid=%pU) unknown, skipping\n", __func__,
+			osd->o_osd, &osdc->client->fsid);
 		*skip = 1;
 		goto out_unlock_osdc;
 	}
@@ -5468,8 +5485,8 @@ static struct ceph_msg *get_reply(struct ceph_connection *con,
 	mutex_lock(&osd->lock);
 	req = lookup_request(&osd->o_requests, tid);
 	if (!req) {
-		dout("%s osd%d tid %llu unknown, skipping\n", __func__,
-		     osd->o_osd, tid);
+		dout("%s osd%d(fsid=%pU) tid %llu unknown, skipping\n", __func__,
+		     osd->o_osd, &osdc->client->fsid, tid);
 		*skip = 1;
 		goto out_unlock_session;
 	}
@@ -5477,8 +5494,8 @@ static struct ceph_msg *get_reply(struct ceph_connection *con,
 	ceph_msg_revoke_incoming(req->r_reply);
 
 	if (front_len > req->r_reply->front_alloc_len) {
-		pr_warn("%s osd%d tid %llu front %d > preallocated %d\n",
-			__func__, osd->o_osd, req->r_tid, front_len,
+		pr_warn("%s osd%d(fsid=%pU) tid %llu front %d > preallocated %d\n",
+			__func__, osd->o_osd, &osdc->client->fsid, req->r_tid, front_len,
 			req->r_reply->front_alloc_len);
 		m = ceph_msg_new(CEPH_MSG_OSD_OPREPLY, front_len, GFP_NOFS,
 				 false);
@@ -5489,8 +5506,8 @@ static struct ceph_msg *get_reply(struct ceph_connection *con,
 	}
 
 	if (data_len > req->r_reply->data_length) {
-		pr_warn("%s osd%d tid %llu data %d > preallocated %zu, skipping\n",
-			__func__, osd->o_osd, req->r_tid, data_len,
+		pr_warn("%s osd%d(fsid=%pU) tid %llu data %d > preallocated %zu, skipping\n",
+			__func__, osd->o_osd, &osdc->client->fsid, req->r_tid, data_len,
 			req->r_reply->data_length);
 		m = NULL;
 		*skip = 1;
@@ -5550,8 +5567,8 @@ static struct ceph_msg *osd_alloc_msg(struct ceph_connection *con,
 	case CEPH_MSG_OSD_OPREPLY:
 		return get_reply(con, hdr, skip);
 	default:
-		pr_warn("%s osd%d unknown msg type %d, skipping\n", __func__,
-			osd->o_osd, type);
+		pr_warn("%s osd%d(fsid=%pU) unknown msg type %d, skipping\n", __func__,
+			osd->o_osd, &osd->o_osdc->client->fsid, type);
 		*skip = 1;
 		return NULL;
 	}
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
index 75b738083523..24b70bc7225c 100644
--- a/net/ceph/osdmap.c
+++ b/net/ceph/osdmap.c
@@ -1566,7 +1566,7 @@ static int decode_new_primary_affinity(void **p, void *end,
 		if (ret)
 			return ret;
 
-		pr_info("osd%d primary-affinity 0x%x\n", osd, aff);
+		pr_info("osd%d(fsid=%pU) primary-affinity 0x%x\n", osd, &map->fsid, aff);
 	}
 
 	return 0;
@@ -1728,7 +1728,8 @@ static int osdmap_decode(void **p, void *end, bool msgr2,
 		if (err)
 			goto bad;
 
-		dout("%s osd%d addr %s\n", __func__, i, ceph_pr_addr(addr));
+		dout("%s osd%d(fsid=%pU) addr %s\n",
+			__func__, i, &map->fsid, ceph_pr_addr(addr));
 	}
 
 	/* pg_temp */
@@ -1864,7 +1865,7 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
 		osd = ceph_decode_32(p);
 		w = ceph_decode_32(p);
 		BUG_ON(osd >= map->max_osd);
-		pr_info("osd%d weight 0x%x %s\n", osd, w,
+		pr_info("osd%d(fsid=%pU) weight 0x%x %s\n", osd, &map->fsid, w,
 		     w == CEPH_OSD_IN ? "(in)" :
 		     (w == CEPH_OSD_OUT ? "(out)" : ""));
 		map->osd_weight[osd] = w;
@@ -1898,10 +1899,10 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
 		BUG_ON(osd >= map->max_osd);
 		if ((map->osd_state[osd] & CEPH_OSD_UP) &&
 		    (xorstate & CEPH_OSD_UP))
-			pr_info("osd%d down\n", osd);
+			pr_info("osd%d(fsid=%pU) down\n", osd, &map->fsid);
 		if ((map->osd_state[osd] & CEPH_OSD_EXISTS) &&
 		    (xorstate & CEPH_OSD_EXISTS)) {
-			pr_info("osd%d does not exist\n", osd);
+			pr_info("osd%d(fsid=%pU) does not exist\n", osd, &map->fsid);
 			ret = set_primary_affinity(map, osd,
 						   CEPH_OSD_DEFAULT_PRIMARY_AFFINITY);
 			if (ret)
@@ -1929,9 +1930,10 @@ static int decode_new_up_state_weight(void **p, void *end, u8 struct_v,
 		if (ret)
 			return ret;
 
-		dout("%s osd%d addr %s\n", __func__, osd, ceph_pr_addr(&addr));
+		dout("%s osd%d(fsid=%pU) addr %s\n",
+			__func__, osd, &map->fsid, ceph_pr_addr(&addr));
 
-		pr_info("osd%d up\n", osd);
+		pr_info("osd%d(fsid=%pU) up\n", osd, &map->fsid);
 		map->osd_state[osd] |= CEPH_OSD_EXISTS | CEPH_OSD_UP;
 		map->osd_addr[osd] = addr;
 	}
