]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/tools/rbd/action/Ggate.cc
import quincy beta 17.1.0
[ceph.git] / ceph / src / tools / rbd / action / Ggate.cc
index bae9778bbce9f19a7bffa8667c1236562d839fad..24699b43ff8d7b7f523a4e590d1ad62196617c52 100644 (file)
@@ -25,6 +25,7 @@ namespace ggate {
 namespace at = argument_types;
 namespace po = boost::program_options;
 
+#if defined(__FreeBSD__)
 static int call_ggate_cmd(const po::variables_map &vm,
                           const std::vector<std::string> &args,
                           const std::vector<std::string> &ceph_global_args) {
@@ -103,13 +104,14 @@ int parse_options(const std::vector<std::string> &options,
 
   return 0;
 }
+#endif
 
 int execute_list(const po::variables_map &vm,
                  const std::vector<std::string> &ceph_global_init_args) {
 #if !defined(__FreeBSD__)
   std::cerr << "rbd: ggate is only supported on FreeBSD" << std::endl;
   return -EOPNOTSUPP;
-#endif
+#else
   std::vector<std::string> args;
 
   args.push_back("list");
@@ -123,6 +125,7 @@ int execute_list(const po::variables_map &vm,
   }
 
   return call_ggate_cmd(vm, args, ceph_global_init_args);
+#endif
 }
 
 int execute_map(const po::variables_map &vm,
@@ -130,7 +133,7 @@ int execute_map(const po::variables_map &vm,
 #if !defined(__FreeBSD__)
   std::cerr << "rbd: ggate is only supported on FreeBSD" << std::endl;
   return -EOPNOTSUPP;
-#endif
+#else
   std::vector<std::string> args;
 
   args.push_back("map");
@@ -165,6 +168,7 @@ int execute_map(const po::variables_map &vm,
   }
 
   return call_ggate_cmd(vm, args, ceph_global_init_args);
+#endif
 }
 
 int execute_unmap(const po::variables_map &vm,
@@ -172,7 +176,7 @@ int execute_unmap(const po::variables_map &vm,
 #if !defined(__FreeBSD__)
   std::cerr << "rbd: ggate is only supported on FreeBSD" << std::endl;
   return -EOPNOTSUPP;
-#endif
+#else
   std::string device_name = utils::get_positional_argument(vm, 0);
   if (!boost::starts_with(device_name, "/dev/")) {
     device_name.clear();
@@ -205,6 +209,27 @@ int execute_unmap(const po::variables_map &vm,
   }
 
   return call_ggate_cmd(vm, args, ceph_global_init_args);
+#endif
+}
+
+int execute_attach(const po::variables_map &vm,
+                   const std::vector<std::string> &ceph_global_init_args) {
+#if !defined(__FreeBSD__)
+  std::cerr << "rbd: ggate is only supported on FreeBSD" << std::endl;
+#else
+  std::cerr << "rbd: ggate attach command not supported" << std::endl;
+#endif
+  return -EOPNOTSUPP;
+}
+
+int execute_detach(const po::variables_map &vm,
+                   const std::vector<std::string> &ceph_global_init_args) {
+#if !defined(__FreeBSD__)
+  std::cerr << "rbd: ggate is only supported on FreeBSD" << std::endl;
+#else
+  std::cerr << "rbd: ggate detach command not supported" << std::endl;
+#endif
+  return -EOPNOTSUPP;
 }
 
 } // namespace ggate