| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This is an extensible version of 'mkfs' which supports optional
arguments. There is now no need for 'mkfs_b' since you should
use 'mkfs_opts' with the optional 'blocksize' argument instead.
|
|
|
|
|
|
|
|
| |
Previously we only supported optional arguments for library
functions (commit 14490c3e1aac61c6ac90f28828896683f64f0dc9).
This extends that work so that optional arguments can also be
passed through to the daemon.
|
| |
|
|
|
|
|
|
|
| |
If the daemon sends progress notification messages while we
are uploading FileIn parameters, these are received in
check_for_daemon_cancellation_or_eof. Modify this library
function so that it turns these messages into callbacks.
|
|
|
|
|
|
|
|
| |
Two unrelated changes to the protocol to support progress
messages during uploads, and optional arguments.
Note that this makes an incompatible change to the protocol,
and this is reflected in the protocol version field (3 -> 4).
|
| |
|
|
|
|
| |
Remove both possible cache locations.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This file is already hard-linked into the current directory, so
the relative path is not required.
|
|
|
|
|
| |
See commit 840536ea5a0568296dfd3e483442c76b93c5a949
and commit 956fc5a3feacc970ea763697bf28fb686c875408.
|
|
|
|
| |
Make the LV paths returned by these two commands canonical.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When logical volume names appear in places like /etc/fstab
files they can have the form "/dev/mapper/foo-bar". This
function takes such names and makes them canonical.
Note that this operation cannot be performed using the current
API, because 'guestfs_stat' does not work on device names, and
we don't really want to make a 'stat-device' call since that
exposes too much non-useful detail about the appliance.
With this patch you can do this:
><fs> debug ll /dev/mapper
total 8
drwxrwxr-x 2 root root 4096 Oct 25 12:51 .
drwxr-xr-x 16 root root 4096 Oct 25 12:51 ..
crw------- 1 root root 10, 62 Oct 25 12:51 control
lrwxrwxrwx 1 root root 7 Oct 25 12:51 vg_f13x64-lv_root -> ../dm-0
lrwxrwxrwx 1 root root 7 Oct 25 12:51 vg_f13x64-lv_swap -> ../dm-1
><fs> lvm-canonical-lv-name /dev/mapper/vg_f13x64-lv_root
/dev/vg_f13x64/lv_root
><fs> lvm-canonical-lv-name /dev/mapper/vg_f13x64-lv_swap
/dev/vg_f13x64/lv_swap
><fs> lvm-canonical-lv-name /dev/mapper/foo
libguestfs: error: lvm_canonical_lv_name: lvm_canonical_lv_name_stub: /dev/mapper/foo: No such file or directory
><fs> lvm-canonical-lv-name /dev/mapper/control
libguestfs: error: lvm_canonical_lv_name: /dev/mapper/control: not a logical volume
><fs> lvm-canonical-lv-name /dev/vg_f13x64/lv_root
/dev/vg_f13x64/lv_root
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If you ran part-get-parttype command on a device which didn't
contain a partition, it used to return the string "loop". This
is an internal representation that parted uses. We should instead
return an error because part-get-parttype makes no sense for
devices which are not partitioned.
|
| |
|
|
|
|
|
|
| |
Change the part-disk command so it aligns the partition to
64 sectors (instead of 1 or 34 sectors as now). This should
ensure that the filesystem contained within is aligned.
|
| |
|
| |
|
|
|
|
|
| |
This is the same as the existing 'pwrite' API call, but allows you
to write to a device.
|
| |
|
|
|
|
|
|
|
| |
This updates commit 956fc5a3feacc970ea763697bf28fb686c875408 so
that we call udev_settle after rereading the partition table. This
ensures that the devices nodes for the new partitions have been
created.
|
|
|
|
|
|
|
|
|
|
|
|
| |
On fast machines sfdisk has some sort of race where it
fails to re-read the partition table it has just created
(it's not clear if this is a race in sfdisk, the kernel or
some other component).
This commit works around the problem by calling
blockdev --rereadpt after sfdisk operations, which
experience shows is enough to stop the problem from
happening.
|
|
|
|
|
| |
These APIs allow you to efficiently write and read parts of
files or devices.
|
|
|
|
|
| |
This adds a formal API for going from a partition to the containing
device, eg. /dev/sda1 -> /dev/sda
|
|
|
|
|
|
|
|
|
|
| |
'src/generator.ml' is no more. Instead the generator is logically
split up over many different source files.
Read generator/README for help and tips.
We compile the generator down to bytecode, not native code. This
means it will run more slowly, but is done for maximum portability.
|
| |
|
|
|
|
| |
These complement the existing is-file and is-dir APIs.
|
|
|
|
| |
This commit is just code movement.
|
|
|
|
|
| |
This removes a fatal warning (-Werror) which stops compilation
on 32 bit machines.
|
|
|
|
|
| |
This debugging command generates progress notification messages,
used for testing purposes.
|
| |
|
|
|
|
|
|
|
| |
The debug command is useful for internal testing, and so should
be enabled by default in all builds.
Note that it is still *not* part of the stable ABI.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements progress notification messages in the daemon, and
adds a callback in the library to handle them.
No calls are changed so far, so in fact no progress messages can
be generated by this commit.
For more details, see:
https://www.redhat.com/archives/libguestfs/2010-July/msg00003.html
https://www.redhat.com/archives/libguestfs/2010-July/msg00024.html
|
| |
|
|
|
|
|
|
| |
This adds a new debug command, core_pattern, which writes a new pattern for
coredump files to the appliance kernel, and sets the daemon's hard and soft core
limits to infinity.
|
|
|
|
|
|
|
| |
This changes the protocol so that the Linux errno (if available)
is sent back to the library. Note that the errno is not yet
made available to callers, since it is not clear how best to
present this Linux-specific number.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for virtio-serial, and removes all other
vmchannel methods.
Virtio-serial is faster than other methods, and is now widely
available.
I tested this by using the guestfs_upload API on an 83 MB file:
before: 6.12 seconds (14.1 MB/sec)
after: 4.20 seconds (20.6 MB/sec)
(note this is with the current 8K chunk size)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new API, guestfs_is_lv (g, device), which returns true iff
the named device is an LVM2 logical volume.
A sample guestfish session:
><fs> lvs
/dev/vg_f13x64/lv_root
/dev/vg_f13x64/lv_swap
><fs> list-devices
/dev/vda
><fs> list-partitions
/dev/vda1
/dev/vda2
><fs> is-lv /dev/vg_f13x64/lv_root
true
><fs> is-lv /dev/vg_f13x64/lv_swap
true
><fs> is-lv /dev/vda
false
><fs> is-lv /dev/vda1
false
><fs> is-lv /dev/vda2
false
|