[thinp_*] Make mtree_ref_counter derive from ref_counter.
Slight performance hit, but I'd rather everything was derived from ref_counter. Also implement it! Not sure why this wasn't done before.
This commit is contained in:
		| @@ -70,15 +70,23 @@ namespace thin_provisioning { | ||||
| 		} | ||||
|  | ||||
| 		void | ||||
| 		mtree_ref_counter::inc(block_address b) | ||||
| 		mtree_ref_counter::set(block_address const &b, uint32_t rc) | ||||
| 		{ | ||||
| 			tm_.get_sm()->set_count(b, rc); | ||||
| 		} | ||||
|  | ||||
| 		void | ||||
| 		mtree_ref_counter::dec(block_address b) | ||||
| 		mtree_ref_counter::inc(block_address const &b) | ||||
| 		{ | ||||
| 			tm_.get_sm()->inc(b); | ||||
| 		} | ||||
|  | ||||
| 		void | ||||
| 		mtree_ref_counter::dec(block_address const &b) | ||||
| 		{ | ||||
| 			tm_.get_sm()->dec(b); | ||||
| 		} | ||||
| 		 | ||||
| 		//-------------------------------- | ||||
|  | ||||
| 		void | ||||
|   | ||||
| @@ -43,12 +43,13 @@ namespace thin_provisioning { | ||||
| 			static void pack(value_type const &value, disk_type &disk); | ||||
| 		}; | ||||
|  | ||||
| 		class mtree_ref_counter { | ||||
| 		class mtree_ref_counter final : public ref_counter<block_address> { | ||||
| 		public: | ||||
| 			mtree_ref_counter(transaction_manager &tm); | ||||
|  | ||||
| 			void inc(block_address b); | ||||
| 			void dec(block_address b); | ||||
| 			void set(block_address const &b, uint32_t rc); | ||||
| 			void inc(block_address const &b); | ||||
| 			void dec(block_address const &b); | ||||
|  | ||||
| 		private: | ||||
| 			transaction_manager &tm_; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user