This is equivalent to the qemu parameter C<-cdrom filename>.
+Note that this call checks for the existence of C<filename>. This
+stops you from specifying other types of drive which are supported
+by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
+the general C<$h-E<gt>config> call instead.
+
=item $h->add_drive ($filename);
This function adds a virtual machine disk image C<filename> to the
This is equivalent to the qemu parameter C<-drive file=filename>.
+Note that this call checks for the existence of C<filename>. This
+stops you from specifying other types of drive which are supported
+by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
+the general C<$h-E<gt>config> call instead.
+
+=item $h->add_drive_ro ($filename);
+
+This adds a drive in snapshot mode, making it effectively
+read-only.
+
+Note that writes to the device are allowed, and will be seen for
+the duration of the guestfs handle, but they are written
+to a temporary file which is discarded as soon as the guestfs
+handle is closed. We don't currently have any method to enable
+changes to be committed, although qemu can support this.
+
+This is equivalent to the qemu parameter
+C<-drive file=filename,snapshot=on>.
+
+Note that this call checks for the existence of C<filename>. This
+stops you from specifying other types of drive which are supported
+by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
+the general C<$h-E<gt>config> call instead.
+
=item $h->aug_close ();
Close the current Augeas handle and free up any resources
This automatically calls L<sync(2)> before the operation,
so that the maximum guest memory is freed.
+=item $h->e2fsck_f ($device);
+
+This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3
+filesystem checker on C<device>, noninteractively (C<-p>),
+even if the filesystem appears to be clean (C<-f>).
+
+This command is only needed because of C<$h-E<gt>resize2fs>
+(q.v.). Normally you should use C<$h-E<gt>fsck>.
+
=item $h->end_busy ();
This sets the state to C<READY>, or if in C<CONFIG> then it leaves the
particular that the filename is not prepended to the output
(the C<-b> option).
+=item @names = $h->find ($directory);
+
+This command lists out all files and directories, recursively,
+starting at C<directory>. It is essentially equivalent to
+running the shell command C<find directory -print> but some
+post-processing happens on the output, described below.
+
+This returns a list of strings I<without any prefix>. Thus
+if the directory structure was:
+
+ /tmp/a
+ /tmp/b
+ /tmp/c/d
+
+then the returned list from C<$h-E<gt>find> C</tmp> would be
+4 elements:
+
+ a
+ b
+ c
+ c/d
+
+If C<directory> is not a directory, then this command returns
+an error.
+
+The returned list is sorted.
+
=item $status = $h->fsck ($fstype, $device);
This runs the filesystem checker (fsck) on C<device> which
You can also remove all LVs in a volume group by specifying
the VG name, C</dev/VG>.
+=item $h->lvresize ($device, $mbytes);
+
+This resizes (expands or shrinks) an existing LVM logical
+volume to C<mbytes>. When reducing, data in the reduced part
+is lost.
+
=item @logvols = $h->lvs ();
List all the logical volumes detected. This is the equivalent
as end of line). For those you need to use the C<$h-E<gt>read_file>
function which has a more complex interface.
+=item $h->resize2fs ($device);
+
+This resizes an ext2 or ext3 filesystem to match the size of
+the underlying device.
+
+I<Note:> It is sometimes required that you run C<$h-E<gt>e2fsck_f>
+on the C<device> before calling this command. For unknown reasons
+C<resize2fs> sometimes gives an error about this and sometimes not.
+In any case, it is always safe to call C<$h-E<gt>e2fsck_f> before
+calling this function.
+
=item $h->rm ($path);
Remove the single file C<path>.
human-readable output of the L<sfdisk(8)> command. It is
not intended to be parsed.
+=item $h->sleep ($secs);
+
+Sleep for C<secs> seconds.
+
=item %statbuf = $h->stat ($path);
Returns file information for the given C<path>.