From: Sage Weil Date: Tue, 20 Feb 2018 21:20:00 +0000 (-0600) Subject: osd: clean up mutex naming for OSDShard X-Git-Tag: v13.1.0~390^2~52 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=540b1bc9e6fc047d2f99ed9783da95dc2ab89d5c;p=ceph.git osd: clean up mutex naming for OSDShard Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 32cf018d25a9..a18dd24312c3 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1928,15 +1928,10 @@ OSD::OSD(CephContext *cct_, ObjectStore *store_, // initialize shards num_shards = get_num_op_shards(); for (uint32_t i = 0; i < num_shards; i++) { - char lock_name[128] = {0}; - snprintf(lock_name, sizeof(lock_name), "OSDShard.%d::sdata_lock", i); - char order_lock[128] = {0}; - snprintf(order_lock, sizeof(order_lock), "OSDShard.%d::sdata_op_ordering_lock", i); OSDShard *one_shard = new OSDShard( i, cct, this, - lock_name, order_lock, cct->_conf->osd_op_pq_max_tokens_per_priority, cct->_conf->osd_op_pq_min_cost, op_queue); diff --git a/src/osd/OSD.h b/src/osd/OSD.h index aea1ec0e2941..85d5daaf25d8 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1054,9 +1054,14 @@ struct OSDShard { const unsigned shard_id; CephContext *cct; OSD *osd; + + string shard_name; + + string sdata_lock_name; Mutex sdata_lock; Cond sdata_cond; + string sdata_op_ordering_lock_name; Mutex sdata_op_ordering_lock; ///< protects all members below OSDMapRef osdmap; @@ -1125,15 +1130,17 @@ struct OSDShard { int id, CephContext *cct, OSD *osd, - string lock_name, string ordering_lock, uint64_t max_tok_per_prio, uint64_t min_cost, io_queue opqueue) : shard_id(id), cct(cct), osd(osd), - sdata_lock(lock_name.c_str(), false, true, false, cct), - sdata_op_ordering_lock(ordering_lock.c_str(), false, true, - false, cct) { + shard_name(string("OSDShard.") + stringify(id)), + sdata_lock_name(shard_name + "::sdata_lock"), + sdata_lock(sdata_lock_name.c_str(), false, true, false, cct), + sdata_op_ordering_lock_name(shard_name + "::sdata_op_ordering_lock"), + sdata_op_ordering_lock(sdata_op_ordering_lock_name.c_str(), false, true, + false, cct), if (opqueue == io_queue::weightedpriority) { pqueue = std::make_unique< WeightedPriorityQueue>(