On Mon, Jun 23, 2014 at 03:03:24PM +0200, Pino Toscano wrote:
On Monday 23 June 2014 12:29:07 Richard W.M. Jones wrote:
On Mon, Jun 23, 2014 at 01:00:11PM +0200, Pino Toscano wrote:
static int
+do_cat_simple (int argc, char *argv[]) +{ + unsigned errors = 0; + int i; + + for (i = 0; i < argc; ++i) { + if (guestfs_download (g, argv[i], "/dev/stdout") == -1) + errors++; + } + + return errors == 0 ? 0 : -1; +}
The problem with this function is two-fold:
- It disables Windows path support if using the -m option, which seems a bit arbitrary.
I'm not sure: if I tell to mount an arbitrary partition/mountpoint, how can libguestfs detect it's from a Windows guest?
I see, that makes sense.
The main use cases I saw for this (and the other implementations for virt-ls and virt-edit) were - handle partitions/disks which are parts of a guest (say the separate /var in another disk) - handle data-only partitions (say the ones you put backups, etc)
So even if their filesystem is NTFS or something for Windows, there should be no need for handling Windows paths (with the drive letter), no?
- It duplicates parts of the original do_cat function.
What's wrong with modifying do_cat so it checks the global inspector variable?
My first version of this patch was like that, then I thought it would have been better to have inspection and no-inspection separated to avoid cluttering a single function. I can put them together if wanted.
My spidey sense starts to tingle when I see duplicated code ... Whichever is going to be simpler, but I'd still prefer to avoid duplicated code as seen in this version of the patch. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top