On Monday, 3 October 2016 15:07:10 CEST Richard W.M. Jones wrote:
> This follows (tails) a log file within a guest, rather like
> the regular 'tail -f' command.  For example:
> 
>   virt-tail -d guest /var/log/messages
> ---

Mostly LGTM, just a few notes.

> +      guestfs_push_error_handler (g, NULL, NULL);
> +      stat = guestfs_statns (g, filename);
> +      guestfs_pop_error_handler (g);
> +      if (stat == NULL) {
> +        /* There's an error.  Treat ENOENT as if the file was empty size. */
> +        if (guestfs_last_errno (g) == ENOENT) {
> +          time (&t);
> +          file[i].mtime = t;
> +          file[i].size = 0;

I'd set size as -1, otherwise this is considering the file as existing.
If virt-tail (wants to) behaves like `tail -f`, I'd:
- print an error/message line (not fatal) to warn that a file does not
  exist
- when it appears, print that and start following it

> +          /* If we get here, the file changed and we're going to display
> +           * something.  If there is more than one file, and the file
> +           * displayed is different from previously, then display the
> +           * filename banner.
> +           */
> +          if (i != prev_file_displayed)
> +            printf ("\n\n--- %s ---\n\n", filename);
> +          prev_file_displayed = i;

I'd simplify the check as "if (argc > 1)", and remove the
"prev_file_displayed" variable (not used otherwise).

> +    /* Do nothing until something happens on the disk image.  Even if
> +     * the drive changes, always wait min. 30 seconds.  For libvirt
> +     * (-d) and remote sources we cannot check this so we have to use
> +     * a fixed (5 minute) delay instead.  Also we recheck every so
> +     * often even if nothing seems to have changed.  (XXX Can we do
> +     * better?)

Should -s/--sleep-interval be available too, then?

Thanks,
-- 
Pino Toscano

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to