Richard W.M. Jones
2012-Mar-02 15:11 UTC
[Libguestfs] [virt-tools-list] find0 in (perl) Sys::Guestfs
On Tue, Jan 31, 2012 at 01:29:58PM -0800, dan farmer wrote:> Is there anyway to convince find0 to put the results in memory rather than > writing to a file? I really don't want to have to write it to a file and > then read it again just to process the results. I see guestfish has an > option to write to stdout (but the lib doesn't have a documented way) for > some reason.These so-called "FileIn" and "FileOut" APIs only read and write to files. However in Linux you can easily convert this to a file descriptor, or even in-memory operation. This page describes the /dev/fd method: http://libguestfs.org/guestfs.3.html#uploading_and_downloading_to_pipes_and_file_descriptors Note that if you want to actively read or write from the other end of the /dev/fd file descriptor, then there has to be another process or thread involved. This is because the libguestfs API is synchronous and so the thread which makes the guestfs_* call will be doing blocking read(2) and write(2) system calls. This makes it rather hard to use /dev/fd/* from guestfish, which is single-threaded, but you can still use pipes, eg: find0 / - | <some other program>> It'd be nice to point to either a scalar (or w/e var) or filename and let me > worry if I have enough memory to hold all that. I suppose I could write > my own walker, try to intercept the writes of guestfish, change the > source, try tricks with named pipes, (not going to call guestfish from > inside perl!)? hoping for an easier answer.At some point you hit the limits of guestfish and it's better to use the real perl bindings, ie. Sys::Guestfs. [...]> P.s. If there's a better place to ask for such things, let me know; looking > at > archives it seems more patch/dev stuff here than the charter suggests, > but I'm fine with w/e.Usually better to ask libguestfs questions here: https://www.redhat.com/mailman/listinfo/libguestfs Rich.> P.p.s. Is there a repository for scripts or things written for libguestfs? > I'm > familiar with the recipes page > (http://libguestfs.org/guestfs-recipes.1.html) > but haven't found much else other than rich's blog. But unless libguestfs > dies on me along the way I'm planning on writing various things in the next > few months that may or may not see the light of day, but don't want to spam > folks if there's another option or no interest. > > ^..^ > >> _______________________________________________ > virt-tools-list mailing list > virt-tools-list at redhat.com > https://www.redhat.com/mailman/listinfo/virt-tools-list-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v
Maybe Matching Threads
- [PATCH 1/2] Convert all TABs-as-indentation to spaces.
- [PATCH] generator: Add an explicit Cancellable flag
- [PATCH] generator: Add visibility to action struct
- [PATCH] generator: Allow actions to be deprecated with no replacement.
- [PATCH libguestfs] indent with spaces, not TABs