@@ -48,7 +48,7 @@ TransactionManager::TransactionManager(
4848TransactionManager::mkfs_ertr::future<> TransactionManager::mkfs ()
4949{
5050 LOG_PREFIX (TransactionManager::mkfs);
51- INFO (" enter " );
51+ INFO (" ... " );
5252 return epm->mount (
5353 ).safe_then ([this ] {
5454 return journal->open_for_mkfs ();
@@ -94,15 +94,15 @@ TransactionManager::mkfs_ertr::future<> TransactionManager::mkfs()
9494 }).safe_then ([this ] {
9595 return close ();
9696 }).safe_then ([FNAME] {
97- INFO (" completed " );
97+ INFO (" done " );
9898 });
9999}
100100
101101TransactionManager::mount_ertr::future<>
102102TransactionManager::mount ()
103103{
104104 LOG_PREFIX (TransactionManager::mount);
105- INFO (" enter " );
105+ INFO (" ... " );
106106 cache->init ();
107107 return epm->mount (
108108 ).safe_then ([this ] {
@@ -169,7 +169,7 @@ TransactionManager::mount()
169169 return epm->open_for_write ();
170170 }).safe_then ([FNAME, this ] {
171171 epm->start_background ();
172- INFO (" completed " );
172+ INFO (" done " );
173173 }).handle_error (
174174 mount_ertr::pass_further{},
175175 crimson::ct_error::assert_all{" unhandled error" }
@@ -179,7 +179,7 @@ TransactionManager::mount()
179179TransactionManager::close_ertr::future<>
180180TransactionManager::close () {
181181 LOG_PREFIX (TransactionManager::close);
182- INFO (" enter " );
182+ INFO (" ... " );
183183 return epm->stop_background (
184184 ).then ([this ] {
185185 return cache->close ();
@@ -189,7 +189,7 @@ TransactionManager::close() {
189189 }).safe_then ([this ] {
190190 return epm->close ();
191191 }).safe_then ([FNAME] {
192- INFO (" completed " );
192+ INFO (" done " );
193193 return seastar::now ();
194194 });
195195}
@@ -231,14 +231,14 @@ TransactionManager::ref_ret TransactionManager::remove(
231231 LogicalCachedExtentRef &ref)
232232{
233233 LOG_PREFIX (TransactionManager::remove);
234- TRACET (" {}" , t, *ref);
234+ DEBUGT (" {} ... " , t, *ref);
235235 return lba_manager->decref_extent (t, ref->get_laddr ()
236236 ).si_then ([this , FNAME, &t, ref](auto result) {
237- DEBUGT (" extent refcount is decremented to {} -- {}" ,
238- t, result.refcount , *ref);
239237 if (result.refcount == 0 ) {
240238 cache->retire_extent (t, ref);
241239 }
240+ DEBUGT (" removed {}~0x{:x} refcount={} -- {}" ,
241+ t, result.addr , result.length , result.refcount , *ref);
242242 return result.refcount ;
243243 });
244244}
@@ -248,11 +248,9 @@ TransactionManager::ref_ret TransactionManager::remove(
248248 laddr_t offset)
249249{
250250 LOG_PREFIX (TransactionManager::remove);
251- TRACET (" {}" , t, offset);
251+ DEBUGT (" {} ... " , t, offset);
252252 return lba_manager->decref_extent (t, offset
253253 ).si_then ([this , FNAME, offset, &t](auto result) -> ref_ret {
254- DEBUGT (" extent refcount is decremented to {} -- {}~{}, {}" ,
255- t, result.refcount , offset, result.length , result.addr );
256254 auto fut = ref_iertr::now ();
257255 if (result.refcount == 0 ) {
258256 if (result.addr .is_paddr () &&
@@ -261,8 +259,9 @@ TransactionManager::ref_ret TransactionManager::remove(
261259 t, result.addr .get_paddr (), result.length );
262260 }
263261 }
264-
265- return fut.si_then ([result=std::move (result)] {
262+ return fut.si_then ([result=std::move (result), offset, &t, FNAME] {
263+ DEBUGT (" removed {}~0x{:x} refcount={} -- offset={}" ,
264+ t, result.addr , result.length , result.refcount , offset);
266265 return result.refcount ;
267266 });
268267 });
@@ -273,17 +272,18 @@ TransactionManager::refs_ret TransactionManager::remove(
273272 std::vector<laddr_t > offsets)
274273{
275274 LOG_PREFIX (TransactionManager::remove);
276- DEBUG (" {} offsets" , offsets.size ());
275+ DEBUGT (" {} offsets ... " , t , offsets.size ());
277276 return seastar::do_with (std::move (offsets), std::vector<unsigned >(),
278- [this , &t](auto &&offsets, auto &refcnts) {
277+ [this , &t, FNAME ](auto &&offsets, auto &refcnts) {
279278 return trans_intr::do_for_each (offsets.begin (), offsets.end (),
280279 [this , &t, &refcnts](auto &laddr) {
281280 return this ->remove (t, laddr
282281 ).si_then ([&refcnts](auto ref) {
283282 refcnts.push_back (ref);
284283 return ref_iertr::now ();
285284 });
286- }).si_then ([&refcnts] {
285+ }).si_then ([&refcnts, &t, FNAME] {
286+ DEBUGT (" removed {} offsets" , t, refcnts.size ());
287287 return ref_iertr::make_ready_future<std::vector<unsigned >>(std::move (refcnts));
288288 });
289289 });
@@ -520,7 +520,6 @@ TransactionManager::rewrite_logical_extent(
520520 ERRORT (" extent has been invalidated -- {}" , t, *extent);
521521 ceph_abort ();
522522 }
523- TRACET (" rewriting extent -- {}" , t, *extent);
524523
525524 auto lextent = extent->cast <LogicalCachedExtent>();
526525 cache->retire_extent (t, extent);
@@ -534,7 +533,7 @@ TransactionManager::rewrite_logical_extent(
534533 lextent->get_rewrite_generation ())->cast <LogicalCachedExtent>();
535534 nlextent->rewrite (t, *lextent, 0 );
536535
537- DEBUGT (" rewriting logical extent -- {} to {}" , t, *lextent, *nlextent);
536+ DEBUGT (" rewriting meta -- {} to {}" , t, *lextent, *nlextent);
538537
539538#ifndef NDEBUG
540539 if (get_checksum_needed (lextent->get_paddr ())) {
@@ -571,17 +570,16 @@ TransactionManager::rewrite_logical_extent(
571570 0 ,
572571 lextent->get_length (),
573572 extent_ref_count_t (0 ),
574- [this , lextent, &t]
573+ [this , FNAME, lextent, &t]
575574 (auto &extents, auto &off, auto &left, auto &refcount) {
576575 return trans_intr::do_for_each (
577576 extents,
578- [lextent, this , &t, &off, &left, &refcount](auto &nextent) {
579- LOG_PREFIX (TransactionManager::rewrite_logical_extent);
577+ [lextent, this , FNAME, &t, &off, &left, &refcount](auto &nextent) {
580578 bool first_extent = (off == 0 );
581579 ceph_assert (left >= nextent->get_length ());
582580 auto nlextent = nextent->template cast <LogicalCachedExtent>();
583581 nlextent->rewrite (t, *lextent, off);
584- DEBUGT (" rewriting logical extent -- {} to {}" , t, *lextent, *nlextent);
582+ DEBUGT (" rewriting data -- {} to {}" , t, *lextent, *nlextent);
585583
586584 /* This update_mapping is, strictly speaking, unnecessary for delayed_alloc
587585 * extents since we're going to do it again once we either do the ool write
@@ -635,10 +633,18 @@ TransactionManager::rewrite_extent_ret TransactionManager::rewrite_extent(
635633 {
636634 auto updated = cache->update_extent_from_transaction (t, extent);
637635 if (!updated) {
638- DEBUGT (" extent is already retired, skipping -- {}" , t, *extent);
636+ DEBUGT (" target={} {} already retired, skipping -- {}" , t,
637+ rewrite_gen_printer_t {target_generation},
638+ sea_time_point_printer_t {modify_time},
639+ *extent);
639640 return rewrite_extent_iertr::now ();
640641 }
642+
641643 extent = updated;
644+ DEBUGT (" target={} {} -- {} ..." , t,
645+ rewrite_gen_printer_t {target_generation},
646+ sea_time_point_printer_t {modify_time},
647+ *extent);
642648 ceph_assert (!extent->is_pending_io ());
643649 }
644650
@@ -656,9 +662,9 @@ TransactionManager::rewrite_extent_ret TransactionManager::rewrite_extent(
656662 // FIXME: is_dirty() is true for mutation pending extents
657663 // which shouldn't do inplace rewrite because a pending transaction
658664 // may fail.
659- DEBUGT (" delta overwriting extent -- {}" , t, *extent);
660665 t.add_inplace_rewrite_extent (extent);
661666 extent->set_inplace_rewrite_generation ();
667+ DEBUGT (" rewritten as inplace rewrite -- {}" , t, *extent);
662668 return rewrite_extent_iertr::now ();
663669 }
664670 extent->set_target_rewrite_generation (INIT_GENERATION);
@@ -672,22 +678,24 @@ TransactionManager::rewrite_extent_ret TransactionManager::rewrite_extent(
672678 }
673679
674680 if (is_root_type (extent->get_type ())) {
675- DEBUGT (" rewriting root extent -- {}" , t, *extent);
676681 cache->duplicate_for_write (t, extent);
682+ DEBUGT (" rewritten root {}" , t, *extent);
677683 return rewrite_extent_iertr::now ();
678684 }
679685
686+ auto fut = rewrite_extent_iertr::now ();
680687 if (extent->is_logical ()) {
681688 assert (is_logical_type (extent->get_type ()));
682- return rewrite_logical_extent (t, extent->cast <LogicalCachedExtent>());
689+ fut = rewrite_logical_extent (t, extent->cast <LogicalCachedExtent>());
683690 } else if (is_backref_node (extent->get_type ())) {
684- DEBUGT (" rewriting backref extent -- {}" , t, *extent);
685- return backref_manager->rewrite_extent (t, extent);
691+ fut = backref_manager->rewrite_extent (t, extent);
686692 } else {
687693 assert (is_lba_node (extent->get_type ()));
688- DEBUGT (" rewriting physical extent -- {}" , t, *extent);
689- return lba_manager->rewrite_extent (t, extent);
694+ fut = lba_manager->rewrite_extent (t, extent);
690695 }
696+ return fut.si_then ([FNAME, &t] {
697+ DEBUGT (" rewritten" , t);
698+ });
691699}
692700
693701TransactionManager::get_extents_if_live_ret
@@ -699,7 +707,7 @@ TransactionManager::get_extents_if_live(
699707 extent_len_t len)
700708{
701709 LOG_PREFIX (TransactionManager::get_extents_if_live);
702- TRACET (" {} {}~{ } {}" , t, type, laddr, len, paddr);
710+ DEBUGT (" {} {}~0x{:x } {} ... " , t, type, laddr, len, paddr);
703711
704712 // This only works with segments to check if alive,
705713 // as parallel transactions may split the extent at the same time.
@@ -709,7 +717,7 @@ TransactionManager::get_extents_if_live(
709717 ).si_then ([=, this , &t](auto extent)
710718 -> get_extents_if_live_ret {
711719 if (extent && extent->get_length () == len) {
712- DEBUGT (" {} {}~{ } {} is live in cache -- {}" ,
720+ DEBUGT (" {} {}~0x{:x } {} is cached and alive -- {}" ,
713721 t, type, laddr, len, paddr, *extent);
714722 std::list<CachedExtentRef> res;
715723 res.emplace_back (std::move (extent));
@@ -763,7 +771,9 @@ TransactionManager::get_extents_if_live(
763771 list.emplace_back (std::move (ret));
764772 return seastar::now ();
765773 });
766- }).si_then ([&list] {
774+ }).si_then ([&list, &t, FNAME, type, laddr, len, paddr] {
775+ DEBUGT (" {} {}~0x{:x} {} is alive as {} extents" ,
776+ t, type, laddr, len, paddr, list.size ());
767777 return get_extents_if_live_ret (
768778 interruptible::ready_future_marker{},
769779 std::move (list));
@@ -784,11 +794,11 @@ TransactionManager::get_extents_if_live(
784794 ).si_then ([=, &t](auto ret) {
785795 std::list<CachedExtentRef> res;
786796 if (ret) {
787- DEBUGT (" {} {}~{ } {} is live as physical extent -- {}" ,
797+ DEBUGT (" {} {}~0x{:x } {} is absent and alive as physical extent -- {}" ,
788798 t, type, laddr, len, paddr, *ret);
789799 res.emplace_back (std::move (ret));
790800 } else {
791- DEBUGT (" {} {}~{ } {} is not live as physical extent" ,
801+ DEBUGT (" {} {}~0x{:x } {} is not alive as physical extent" ,
792802 t, type, laddr, len, paddr);
793803 }
794804 return get_extents_if_live_ret (
0 commit comments