]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-wnbd: improve image map error message 51665/head
authorLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 22 May 2023 10:01:19 +0000 (10:01 +0000)
committerLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 22 May 2023 12:22:22 +0000 (12:22 +0000)
"rbd-wnbd map" commands are delegated to the centralized
ceph-rbd Windows service, which in turn will create the
actual image mapping. This allows the daemons to continue
running even after the current session ends.

rbd-wnbd communicates with the service through a named pipe.
If the operation fails, we're only getting an error code.

This change will print the according error message based on the
error code, suggesting the user to check the logs or use
foreground mode ("-f") for additional information.

We could also capture the entire subprocess console output and
print it in case of errors. This can be quite verbose, so we'll
keep it simple for now.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
src/tools/rbd_wnbd/rbd_wnbd.cc

index fd78841e0567f0b81c871957bfe821d625f1e8f5..e7d5ecea0665e3c2d0f537c712dc36be217ae462 100644 (file)
@@ -313,8 +313,11 @@ int send_map_request(std::string arguments) {
     return -EINVAL;
   }
   if (reply.status) {
-    derr << "The ceph service failed to map the image. Error: "
-         << reply.status << dendl;
+    derr << "The ceph service failed to map the image. "
+         << "Check the log file or pass '-f' (foreground mode) "
+         << "for additional information. "
+         << "Error: " << cpp_strerror(reply.status)
+         << dendl;
   }
 
   return reply.status;