@@ -606,11 +606,12 @@ class StatusImageRequest : public ImageRequestBase {
606606 const std::vector<librbd::mirror_peer_site_t >& mirror_peers,
607607 const std::map<std::string, std::string> &peer_mirror_uuids_to_name,
608608 const MirrorDaemonServiceInfo &daemon_service_info,
609- at::Format::Formatter formatter)
609+ at::Format::Formatter formatter, bool * saw_image )
610610 : ImageRequestBase(io_ctx, throttle, image_name),
611611 m_instance_ids (instance_ids), m_mirror_peers(mirror_peers),
612612 m_peer_mirror_uuids_to_name(peer_mirror_uuids_to_name),
613- m_daemon_service_info(daemon_service_info), m_formatter(formatter) {
613+ m_daemon_service_info(daemon_service_info), m_formatter(formatter),
614+ m_saw_image(saw_image) {
614615 }
615616
616617protected:
@@ -679,7 +680,7 @@ class StatusImageRequest : public ImageRequestBase {
679680 m_formatter->dump_string (" site_name" ,
680681 (name_it != m_peer_mirror_uuids_to_name.end () ?
681682 name_it->second : " " ));
682- m_formatter->dump_string (" mirror_uuids " , status.mirror_uuid );
683+ m_formatter->dump_string (" mirror_uuid " , status.mirror_uuid );
683684
684685 m_formatter->dump_string (
685686 " state" , utils::mirror_image_site_status_state (status));
@@ -692,6 +693,7 @@ class StatusImageRequest : public ImageRequestBase {
692693 }
693694 m_formatter->close_section (); // image
694695 } else {
696+ *m_saw_image = true ;
695697 std::cout << std::endl
696698 << m_mirror_image_global_status.name << " :" << std::endl
697699 << " global_id: "
@@ -741,6 +743,7 @@ class StatusImageRequest : public ImageRequestBase {
741743 const std::map<std::string, std::string> &m_peer_mirror_uuids_to_name;
742744 const MirrorDaemonServiceInfo &m_daemon_service_info;
743745 at::Format::Formatter m_formatter;
746+ bool *m_saw_image;
744747 std::string m_image_id;
745748 librbd::mirror_image_global_status_t m_mirror_image_global_status;
746749};
@@ -1642,12 +1645,10 @@ int execute_status(const po::variables_map &vm,
16421645 }
16431646 formatter->close_section (); // daemons
16441647 } else {
1645- std::cout << std::endl << " DAEMONS" << std::endl;
1646- if (mirror_services.empty ()) {
1647- std::cout << " none" << std::endl;
1648- }
1648+ std::cout << std::endl << " DAEMONS" ;
16491649 for (auto & mirror_service : mirror_services) {
1650- std::cout << " service " << mirror_service.service_id << " :"
1650+ std::cout << std::endl
1651+ << " service " << mirror_service.service_id << " :"
16511652 << std::endl
16521653 << " instance_id: " << mirror_service.instance_id
16531654 << std::endl
@@ -1660,9 +1661,10 @@ int execute_status(const po::variables_map &vm,
16601661 if (!mirror_service.callouts .empty ()) {
16611662 std::cout << " callouts: " << mirror_service.callouts << std::endl;
16621663 }
1663- std::cout << std::endl;
16641664 }
1665- std::cout << std::endl;
1665+ if (mirror_services.empty ()) {
1666+ std::cout << std::endl << " none" << std::endl;
1667+ }
16661668 }
16671669
16681670 // dump per-image status
@@ -1676,7 +1678,7 @@ int execute_status(const po::variables_map &vm,
16761678 if (formatter != nullptr ) {
16771679 formatter->open_array_section (" images" );
16781680 } else {
1679- std::cout << " IMAGES" ;
1681+ std::cout << std::endl << " IMAGES" ;
16801682 }
16811683
16821684 std::map<std::string, std::string> instance_ids;
@@ -1703,13 +1705,18 @@ int execute_status(const po::variables_map &vm,
17031705 start_image_id = ids.rbegin ()->first ;
17041706 }
17051707
1708+ bool saw_image = false ;
17061709 ImageRequestGenerator<StatusImageRequest> generator (
17071710 io_ctx, instance_ids, mirror_peers, peer_mirror_uuids_to_name,
1708- daemon_service_info, formatter);
1711+ daemon_service_info, formatter, &saw_image );
17091712 ret = generator.execute ();
17101713
17111714 if (formatter != nullptr ) {
17121715 formatter->close_section (); // images
1716+ } else {
1717+ if (saw_image == false ) {
1718+ std::cout << std::endl << " none" << std::endl;
1719+ }
17131720 }
17141721 }
17151722
0 commit comments