* information to the handle.
*/
/* Look to see if any devices directly contain filesystems (RHBZ#590167). */
- char **devices;
- devices = guestfs_list_devices (g);
+ char **devices = guestfs_list_devices (g);
if (devices == NULL)
return NULL;
guestfs___free_string_list (devices);
/* Look at all partitions. */
- char **partitions;
- partitions = guestfs_list_partitions (g);
+ char **partitions = guestfs_list_partitions (g);
if (partitions == NULL) {
guestfs___free_inspect_info (g);
return NULL;
}
guestfs___free_string_list (partitions);
+ /* Look at MD devices. */
+ char **mds = guestfs_list_md_devices (g);
+ if (mds == NULL) {
+ guestfs___free_inspect_info (g);
+ return NULL;
+ }
+
+ for (i = 0; mds[i] != NULL; ++i) {
+ if (guestfs___check_for_filesystem_on (g, mds[i], 0, i+1) == -1) {
+ guestfs___free_string_list (mds);
+ guestfs___free_inspect_info (g);
+ return NULL;
+ }
+ }
+ guestfs___free_string_list (mds);
+
/* Look at all LVs. */
if (guestfs___feature_available (g, "lvm2")) {
char **lvs;
char *ret;
switch (fs->type) {
case OS_TYPE_FREEBSD: ret = safe_strdup (g, "freebsd"); break;
+ case OS_TYPE_HURD: ret = safe_strdup (g, "hurd"); break;
case OS_TYPE_LINUX: ret = safe_strdup (g, "linux"); break;
case OS_TYPE_NETBSD: ret = safe_strdup (g, "netbsd"); break;
case OS_TYPE_WINDOWS: ret = safe_strdup (g, "windows"); break;
int64_t size;
/* Make the basename unique by prefixing it with the fs number. */
- if (asprintf (&r, "%s/%ld-%s", g->tmpdir, fs - g->fses, basename) == -1) {
+ if (asprintf (&r, "%s/%td-%s", g->tmpdir, fs - g->fses, basename) == -1) {
perrorf (g, "asprintf");
return NULL;
}