summaryrefslogtreecommitdiffstats
path: root/po/POTFILES.in
Commit message (Collapse)AuthorAgeFilesLines
* fish: Use a perfect hash for faster command lookups.Richard W.M. Jones2010-11-031-0/+1
| | | | | | Existing command lookups are approx O(n^2). Replace this with a perfect hash implementation which should be a lot faster.
* lib: Expose errno through new API guestfs_last_errno.Richard W.M. Jones2010-11-031-0/+2
| | | | | | | If either the daemon sends back an errno, or a system call fails in the library, save the errno in the handle and then make it available to callers through the guestfs_last_errno function.
* daemon: Send back the errno as a string.Richard W.M. Jones2010-11-031-0/+2
| | | | | | | | This changes the protocol again so that if the errno is available, it is converted to a string (like "EIO") and sent back over the protocol to the library. In this commit the library just discards the string.
* Ensure atomic creation of a cached applianceMatthew Booth2010-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | Cached appliances are discovered by their predictable path. Previously we were creating a cached appliance directly in this predictable path. This had at least 2 undesirable effects: * Interrupting appliance creation would leave a corrupt appliance * 2 processes could simultaneously attempt to create the same appliance, causing corruption. This patch causes the cached appliance to be created in a temporary directory, and then renamed to the predictable path. As rename is an atomic operation, this makes the whole creation atomic. This patch also changes the predictable path to have a prefix of 'guestfs.'. This will make it simpler for system administrators to clean up old cached appliances. This patch resolves RHBZ#639405
* Unify guestfish and guestmount options processing (RHBZ#642932).Richard W.M. Jones2010-10-271-0/+1
| | | | | | | | | | | | | | | In guestfish, factor out the processing of the options -a, -c, -d, -i, -m, -n, -r, -v, -V, -x into a separate set of files: options.c, options.h, inspect.c, virt.c. Change guestmount so that it uses these same files (from the ../fish directory) to process the same options. This unifies the handling of these options between the two programs. It also adds the useful inspection feature to guestmount, so you can now do: guestmount -d Guest -i --ro mnt/
* fish: Implement 'hexedit' command.Richard W.M. Jones2010-09-211-0/+1
|
* fish: Implement copy-in and copy-out commands.Richard Jones2010-09-091-0/+1
|
* daemon: Move 'exists', 'is-file' and 'is-dir' to separate file.Richard Jones2010-09-091-0/+1
| | | | This commit is just code movement.
* fish: Add guestfish -N bootroot and -N bootrootlv for creating boot+root disks.Richard Jones2010-09-081-0/+1
|
* fish: Add guestfish -N lv for creating disks with LVs.Richard Jones2010-09-081-0/+1
|
* fish: Generate list of prepared disk image types.Richard Jones2010-09-081-0/+4
| | | | This commit shouldn't change the semantics of the code.
* PHP bindings.Richard Jones2010-09-041-0/+1
| | | | | | Note that these are not complete on 32 bit architectures. PHP doesn't offer any convenient 64 bit type (on 32 bit). Therefore you should always use these PHP bindings on 64 bit.
* fish: Implement progress bars in guestfish.Richard Jones2010-09-011-0/+1
| | | | | | | | | | | | | | | | | The progress bar is updated 3 times per second, and is not displayed at all for operations which take less than two seconds. You can disable progress bars by using the flag --no-progress-bars, and you can enable progress bars in non-interactive sessions with the flag --progress-bars. A good way to test this is to use the following command: guestfish --progress-bars \ -N disk:10G \ zero-device /dev/sda (adjust "10G" to get different lengths of time).
* Change to using ext2-based, cached supermin appliance.Richard Jones2010-08-231-0/+1
| | | | | | | | | | | | This changes the method used to build the supermin appliance to use the new ext2-based appliance supported by latest febootstrap. The appliance can also be cached, so we avoid rebuilding it each time it is used. Mailing list discussion goes into the rationale and details: https://www.redhat.com/archives/libguestfs/2010-August/msg00028.html Requires febootstrap >= 2.8.
* fish: Reimplement -i option using new C-based inspection.Richard Jones2010-08-171-0/+1
| | | | | | | | | | | | | | Don't shell out to virt-inspector. Instead, use the new C-based inspection APIs. This is much faster. The new syntax is slightly different: guestfish -a disk.img -i guestfish -d guest -i However, the old syntax still works.
* fish: Add -c/--connect and -d/--domain options.Richard Jones2010-08-171-0/+1
| | | | | | | | The -d option lets you specify libvirt domains. The disks from these domains are found and added, as if you'd named them with -a. The -c option lets you specify a libvirt URI, which is needed when we consult libvirt to implement the above.
* New APIs: findfs-label and findfs-uuidRichard Jones2010-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | These two calls wrap up the /sbin/findfs command, allowing you to find a filesystem by only knowing its label or UUID. This is especially useful when resolving LABEL=... or UUID=... entries in /etc/fstab. Sample guestfish session: ><fs> vfs-uuid /dev/vda1 277dd61c-bf34-4253-a8dc-df500a05e7df ><fs> findfs-uuid 277dd61c-bf34-4253-a8dc-df500a05e7df /dev/vda1 ><fs> vfs-label /dev/vda1 /boot ><fs> findfs-label /boot /dev/vda1 ><fs> vfs-uuid /dev/VolGroup00/LogVol00 40ce7c36-82ce-4a12-a99d-48f5e054162c ><fs> findfs-uuid 40ce7c36-82ce-4a12-a99d-48f5e054162c /dev/mapper/VolGroup00-LogVol00 ><fs> findfs-uuid 12345678 libguestfs: error: findfs_uuid: findfs: unable to resolve 'UUID=12345678'
* New API: file-architectureRichard Jones2010-08-171-0/+1
| | | | | | This change simply converts the existing Perl-only function file_architecture into a core API call. The core API call is written in C and available in all languages and from guestfish.
* Rearrange library code into separate files.Richard Jones2010-07-271-0/+2
| | | | | | | | | | | | We split the library code into these separate files: - guestfs.c: creating handles, closing handles, handle-related variables - actions.c: generated library-side stubs for each action - bindtests.c: generated code to test bindings - launch.c: launching the appliance - proto.c: the library side of the daemon communications protocol This is just code movement.
* Rename guestfs-{actions,bindtests}.c to {actions,bindtests}.cRichard Jones2010-07-271-2/+2
| | | | | Rename these two generated files, in preparation for splitting up the main src/guestfs.c file.
* New APIs: Support for opening LUKS-encrypted disks.Richard Jones2010-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for opening LUKS-encrypted disks, via three new APIs: luks_open: Create a mapping for an encrypted disk. luks_open_ro: Same, but read-only mapping. luks_close: Close a mapping. A typical guestfish session using this functionality looks like this: $ guestfish --ro -a encrypted.img ><fs> run ><fs> list-devices /dev/vda ><fs> list-partitions /dev/vda1 /dev/vda2 ><fs> vfs-type /dev/vda2 crypto_LUKS ><fs> luks-open /dev/vda2 luksdev Enter key or passphrase ("key"): ><fs> vgscan ><fs> vg-activate-all true ><fs> pvs /dev/dm-0 ><fs> vgs vg_f13x64encrypted ><fs> lvs /dev/vg_f13x64encrypted/lv_root /dev/vg_f13x64encrypted/lv_swap ><fs> mount /dev/vg_f13x64encrypted/lv_root / ><fs> ll / total 132 dr-xr-xr-x. 24 root root 4096 Jul 21 12:01 . dr-xr-xr-x 20 root root 0 Jul 21 20:06 .. drwx------. 3 root root 4096 Jul 21 11:59 .dbus drwx------. 2 root root 4096 Jul 21 12:00 .pulse -rw-------. 1 root root 256 Jul 21 12:00 .pulse-cookie dr-xr-xr-x. 2 root root 4096 May 13 03:03 bin NOT included in this patch: - An easier way to use this from guestfish. - Ability to create LUKS devices. - Ability to change LUKS keys on existing devices. - Direct access to the /dev/mapper device (eg. if it contains anything apart from VGs).
* New APIs: lvm-set-filter and lvm-clear-filter.Richard Jones2010-07-161-0/+1
| | | | | | | These APIs allow you to change the device filter, the list of block devices that LVM "sees". Either you can set it to a fixed list of devices / partitions, or you can clear it so that LVM sees everything.
* fish: New command: 'supported'Richard Jones2010-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This checks all available optional groups and prints out which ones are supported by the daemon. Note you must launch the appliance first. Example: ><fs> supported augeas yes inotify yes linuxfsuuid yes linuxmodules yes linuxxattrs yes lvm2 yes mknod yes ntfs3g yes ntfsprogs yes realpath yes scrub yes selinux yes xz yes zerofree yes
* generator: Check parameters are not NULL (RHBZ#501893).Richard Jones2010-05-201-0/+1
| | | | | | | | | | | | | | This adds additional tests to check that several types of parameter including String are not NULL when passed to the C functions. Previously this would cause a segfault inside libguestfs. With this change, you get an error message / exception. Of the possible pointer parameters, only OptString is now permitted to be NULL. This change does not affect the Perl bindings. This is because Perl XS code was already adding similar checks if you passed undef into a parameter expecting a string.
* Unify supermin appliance building using febootstrap 2.7Richard Jones2010-05-131-1/+0
|
* po: Include strings from Perl programs in the PO files (RHBZ#559963).Richard Jones2010-05-121-12/+12
| | | | | | | | | xgettext will only recognize '*.pl' as being a Perl file (otherwise it treats it as a C file and does not correctly find any strings in it). This commit also fixes two actual bugs that xgettext found in the strings in our Perl programs.
* fish: Add 'man' command which opens the manual.Richard Jones2010-04-241-0/+1
|
* fish: Add -N option for making prepared disk images.Richard Jones2010-04-221-0/+1
| | | | | | | | | | | | | | | | | Previously you might have typed: $ guestfish ><fs> alloc test1.img 100M ><fs> run ><fs> part-disk /dev/sda mbr ><fs> mkfs ext4 /dev/sda1 now you can do the same with: $ guestfish -N fs:ext4 Some tests have also been updated to use this new functionality.
* New APIs: base64-in and base64-out for uploading/downloading base64 content.Richard Jones2010-04-191-0/+1
|
* New tool: virt-make-fs for creating filesystems on devices.Richard Jones2010-04-081-0/+1
|
* New tools: virt-resize and virt-list-partitions.Richard Jones2010-03-231-0/+2
| | | | | | | | Virt-resize is the main contribution here, a program which can be used to expand and shrink partitions in disk images. Virt-list-partitions is used as an ancillary tool for planning resize operations.
* New APIs: Query the relationship between LVM objects.Richard Jones2010-03-181-0/+1
| | | | | | | | | These calls allow you to query the relationship between LVM objects, for example, which PVs contain a VG, or which LVs are contained in a VG. See the example / test program 'regressions/test-lvm-mapping.pl' for an example of how to do this from Perl.
* Rewrite libguestfs-supermin-helper in C.Richard Jones2010-03-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libguestfs-supermin-helper was previously a shell script. Although we had steadily optimized it, there were a number of intractable hot spots: (1) cpio still reads input files in 512 byte chunks; this is *very* pessimal behaviour, particularly when SELinux is enabled. (2) the hostfiles globbing was done very inefficiently by the shell, with the shell rereading the same directory over and over again. This is a rewrite of this shell script in C. It is approximately 3 times faster without SELinux, and has an even greater speed difference with SELinux. The main features are: (a) It never frees memory, making it simpler. The program is designed to run and exit in sub-second times, so this is acceptable. (b) It caches directory reads, making the globbing of host files much faster (measured this as ~ 4 x speed up). (c) It doesn't use external cpio, but instead contains code to write newc format cpio files, which is all that the kernel can read. Unlike cpio, this code uses large buffers for reads and writes. (d) Ignores missing or unreadable hostfiles, whereas cpio gave a warning. (e) Checks all return values from system calls. (f) With --verbose flag, it will print messages timing itself. This passes all tests. Updated with feedback from Jim Meyering.
* Spin off hivex as a separate upstream project.Richard Jones2010-02-221-3/+0
| | | | | | | | | | | | | | This commit makes the semi-independent hivex library into a separate upstream project. The git repo for hivex is now: http://git.annexia.org/?p=hivex.git;a=summary Downloads of hivex are available here: http://libguestfs.org/download/ All questions, patches, bugs etc should be sent to the libguestfs mailing list and bug tracker.
* Update PO files.Richard Jones2010-02-021-1/+0
|
* hivex: Add 'hivexsh' program (shell for navigating registry hives).Richard Jones2010-01-291-0/+1
|
* Update PO files.Richard Jones2009-11-261-0/+1
|
* Update PO files.Richard Jones2009-11-251-0/+1
|
* New tool: virt-list-filesystemsRichard Jones2009-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use this program as a convenient way to list the filesystems available in a disk image or libvirt guest. Example: $ virt-list-filesystems /dev/vg_trick/Debian5x64 /dev/debian5x64/home /dev/debian5x64/root /dev/debian5x64/tmp /dev/debian5x64/usr /dev/debian5x64/var /dev/sda1 This is designed to make it easier for novices to use guestfish and guestmount. In particular with guestmount this acts as a way to get a list of filesystems to use with the '-m' option. ie: $ virt-list-filesystems unknowndisk.img /dev/sda1 /dev/sda2 $ guestmount -a unknowndisk.img -m /dev/sda1 /mnt
* Implement 'dd' command.Richard Jones2009-11-231-0/+1
|
* availability: Add optional groups and implement guestfs_available call.Richard Jones2009-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current groups are defined very conservatively using the following criteria: (a) Would be impossible to implement on Windows because of sheer architectural differences (eg: mknod). (b) Already optional (augeas, inotify). (c) Not currently optional but not implemented on older RHEL and Debian releases (ntfs-3g.probe, scrub, zerofree). The optional groups I've defined according to these criteria are: . augeas . inotify . linuxfsuuid . linuxmodules . linuxxattrs . lvm2 . mknod . ntfs3g . scrub . selinux . zerofree (Note that these choices don't prevent us from adding more optional groups in future. On the other hand to avoid breaking ABIs we would not wish to change the above groups). The rest of this large commit is really just implementation: Each optional function is classified using Optional "group" flag in the generator. The daemon has to implement a function int optgroup_<name>_available (void); for each optional group. Some of these functions are fixed at compile time, and some do simple run-time tests. The do_available implementation in the daemon looks up the correct function in a table and runs it. We document the optional groups in the guestfs(3) man page. Also: I added a NOT_AVAILABLE macro in order to unify all the existing places where we had a message equivalent to "function __func__ is not available".
* availability: Add guestfs_available.Richard Jones2009-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start a new API allowing groups of functions to be tested for availability. There are two reasons for this: (1) If libguestfs is built with missing dependencies (eg. no Augeas lib) then the corresponding functions are disabled in the appliance. Up till now there has been no way to test for this except to speculatively issue commands and check for errors. (2) When we port the daemon to Win32 it is likely that major pieces of functionality won't be available (eg. LVM support). This API gives a way to test for that. There is no change for existing clients: you still have to check for errors from individual API calls. For new clients, you will be able to test for availability of particular APIs. Usage scenario (A): An LVM editing tool which requires both the LVM API and inotify in order to function at all: char *apis[] = { "inotify", "lvm2", NULL }; r = guestfs_available (g, apis); if (r == -1) { /* print an error and exit */ } Usage scenario (B): A general purpose tool which optionally provides configuration file editing, but this can be disabled, the result merely being reduced functionality: char *apis[] = { "augeas", NULL }; r = guestfs_available (g, apis); enable_config_edit_menus = r == 0;
* New API call: fill - fill a file with octetsRichard Jones2009-11-171-0/+1
|
* Generic partition creation interface.Richard Jones2009-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a generic partition creation interface which should be future-proof and extensible, and partially replaces the old sfdisk-based interface. The implementation is based on parted but is hopefully not too dependent on the particulars of parted. The following new calls are introduced: guestfs_part_init: Initialize a disk with a partition table. Unlike the sfdisk- based interface, we also support GPT and other partition types, which is essential to scale to devices larger than 2TB. guestfs_part_add: Add a partition to an existing disk. guestfs_part_disk: Convenience function which combines part_init & part_add, creating a single partition that covers the whole disk. guestfs_part_set_bootable: guestfs_part_set_name: Set various aspects of existing partitions. guestfs_part_list: List partitions on a device. This returns a programming-friendly list of partition structs (in contrast to sfdisk-l which cannot be parsed). guestfs_part_get_parttype: Return the partition table type, eg. "msdos" or "gpt". The following calls are planned, but not added currently: guestfs_part_get_bootable guestfs_part_get_name guestfs_part_set_type guestfs_part_get_type
* FUSE filesystem support.Richard Jones2009-11-031-0/+2
| | | | | | | | | | | | | | | This implements FUSE filesystem support so that any libguestfs- accessible disk image can be mounted as a local filesystem. Note: file writes (ie. write(2) system call) is not yet implemented. The API needs more test coverage, particularly lesser-used system calls. The big unresolved issue is UID/GID mapping between guest filesystem IDs and the host. It's not easy to automate this because you need extra details about the guest itself in order to get to its UID->username map (eg. /etc/passwd from the guest).
* New API calls: truncate, truncate_size, mkdir_mode, utimens, lchown.Richard Jones2009-11-021-0/+2
| | | | | | | | | | | | | | | truncate, truncate_size: Used to truncate files to a particular size, or to zero bytes. mkdir_mode: Like mkdir but allows you to also specify the initial permissions for the new directory. utimens: Set timestamp on a file with nanosecond accuracy. lchown: Corresponding to lchown(2) syscall (we already have chown). The implementation is complicated by the fact that we had to add an Int64 parameter type to the generator.
* Add virt-win-reg to toplevel Makefile.am, fix POTFILES.in1.0.75Richard Jones2009-10-291-0/+1
|
* Support for Windows Registry.Richard Jones2009-10-291-0/+3
| | | | | | | | | | | | | In hivex/: This mini-library allows us to extract Windows Registry binary files ("hives"). There are also two tools: hivexml converts a hive to a self-describing XML format. hivexget can be used to extract single subkeys from a hive. New tool: virt-win-reg. This is a wrapper around the library functionality allowing you to pull out data from the registries of Windows guests.
* New API: vfs_type - get the Linux VFS driver for a mounted device.Richard Jones2009-10-261-0/+1
|
* New tool: virt-lsRichard Jones2009-10-201-0/+1
| | | | | | | | | This tool makes available the functionality of "ls", "ll", and "find" in a slightly simpler to use form. Examples: virt-ls -l myguest /tmp