daemon: Improve protocol debug messages.
[libguestfs.git] / daemon / daemon.h
index 03e0d37..4a686c0 100644 (file)
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 
-#include "../src/guestfs_protocol.h"
+#include "guestfs_protocol.h"
 
 /*-- in guestfsd.c --*/
 extern int verbose;
 
+extern int autosync_umount;
+
 extern const char *sysroot;
 extern int sysroot_len;
 
@@ -81,8 +83,8 @@ extern int prog_exists (const char *prog);
 
 extern void udev_settle (void);
 
-/* This just stops gcc from giving a warning about our custom
- * printf formatters %Q and %R.  See HACKING file for more
+/* This just stops gcc from giving a warning about our custom printf
+ * formatters %Q and %R.  See guestfs(3)/EXTENDING LIBGUESTFS for more
  * info about these.
  */
 static inline int
@@ -103,9 +105,11 @@ extern const char *function_names[];
 /*-- in proto.c --*/
 extern int proc_nr;
 extern int serial;
+extern uint64_t progress_hint;
+extern uint64_t optargs_bitmask;
 
 /*-- in mount.c --*/
-extern int root_mounted;
+extern int is_root_mounted (void);
 
 /*-- in stubs.c (auto-generated) --*/
 extern void dispatch_incoming_message (XDR *);
@@ -124,6 +128,9 @@ extern struct optgroup optgroups[];
 /* Use this as a replacement for sync(2). */
 extern int sync_disks (void);
 
+/*-- in lvm.c --*/
+extern int lv_canonical (const char *device, char **ret);
+
 /*-- in proto.c --*/
 extern void main_loop (int sock) __attribute__((noreturn));
 
@@ -173,7 +180,7 @@ extern void notify_progress (uint64_t position, uint64_t total);
  */
 #define NEED_ROOT(cancel_stmt,fail_stmt)                                \
   do {                                                                 \
-    if (!root_mounted) {                                               \
+    if (!is_root_mounted ()) {                                         \
       if ((cancel_stmt) != -2)                                          \
         reply_with_error ("%s: you must call 'mount' first to mount the root filesystem", __func__); \
       fail_stmt;                                                       \
@@ -248,17 +255,21 @@ extern void notify_progress (uint64_t position, uint64_t total);
  */
 #define CHROOT_IN                              \
   do {                                         \
-    int __old_errno = errno;                   \
-    if (chroot (sysroot) == -1)                        \
-      perror ("CHROOT_IN: sysroot");           \
-    errno = __old_errno;                       \
+    if (sysroot_len > 0) {                      \
+      int __old_errno = errno;                 \
+      if (chroot (sysroot) == -1)               \
+        perror ("CHROOT_IN: sysroot");         \
+      errno = __old_errno;                     \
+    }                                           \
   } while (0)
 #define CHROOT_OUT                             \
   do {                                         \
-    int __old_errno = errno;                   \
-    if (chroot (".") == -1)                    \
-      perror ("CHROOT_OUT: .");                        \
-    errno = __old_errno;                       \
+    if (sysroot_len > 0) {                      \
+      int __old_errno = errno;                 \
+      if (chroot (".") == -1)                  \
+        perror ("CHROOT_OUT: .");               \
+      errno = __old_errno;                     \
+    }                                           \
   } while (0)
 
 /* Marks functions which are not implemented.