On Thu, Nov 10, 2011 at 02:19:11PM +0000, Matthew Booth wrote: > + /* Look for directories under /sys/block matching md[0-9]* > + * As an additional check, we also make sure they have a md subdirectory > */ > + int err = glob(PREFIX "[0-9]*" SUFFIX, GLOB_ERR, NULL, &mds); > + if (err == GLOB_NOSPACE) { > + reply_with_error("OOM searching for md devices"); > + goto error; > + } else if (err == GLOB_ABORTED) { > + reply_with_error("Read error searching for md devices"); > + goto error;
Since glob is supposed to set errno on error, I'd prefer: reply_with_perror ("glob"); for both of the branches above (combine them into a single branch if you like). > + } else if (err == GLOB_NOMATCH) { > + /* This is fine */ > + } I think this branch should just be dropped. > + for (size_t i = 0; i < mds.gl_pathc; i++) { > + size_t len = strlen(mds.gl_pathv[i]) - strlen(PREFIX) - > strlen(SUFFIX); > + > +#define DEV "/dev/md" > + char *dev = malloc(strlen(DEV) + len + 1); Need to check the return value from malloc and reply_with_perror / goto error on failure. > +# Create a raid1 based on the 2 disks > +debug sh "/usr/bin/yes | mdadm -C /dev/md/test --level=1 --raid-devices=2 > /dev/vda /dev/vdb >/dev/null 2>&1" I guessed we'd be running the debug backdoor here to create devices. Is it not worth binding this call too? > +# Ensure list-md-devices now returns the newly create md device "created" Generally looking good. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs