+
+ Dmsg5(100, "Device %s cannot be %smounted. stat=%d result=%s ERR=%s\n", print_name(),
+ (mount ? "" : "un"), status, results, be.bstrerror(status));
+ Mmsg(errmsg, _("Device %s cannot be %smounted. ERR=%s\n"),
+ print_name(), (mount ? "" : "un"), be.bstrerror(status));
+
+ set_mounted(false);
+ free_pool_memory(results);
+ Dmsg0(200, "============ mount=0\n");
+ Dsm_check(1);
+ return false;
+ }
+
+ set_mounted(mount); /* set/clear mounted flag */
+ free_pool_memory(results);
+ Dmsg1(200, "============ mount=%d\n", mount);
+ return true;
+}
+
+/*
+ * (Un)mount the device (either a FILE or DVD device)
+ */
+bool DEVICE::do_file_mount(int mount, int dotimeout)
+{
+ POOL_MEM ocmd(PM_FNAME);
+ POOLMEM *results;
+ DIR* dp;
+ char *icmd;
+ struct dirent *entry, *result;
+ int status, tries, name_max, count;
+ berrno be;
+
+ Dsm_check(1);
+ if (mount) {
+ icmd = device->mount_command;
+ } else {