summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* python: avoid "_POSIX_C_SOURCE" redefinition warningJim Meyering2009-08-171-2/+2
| | | | | * src/generator.ml: Include <Python.h> *before* <stdio.h> to avoid redefinition warning about "_POSIX_C_SOURCE".
* adjust const "**" pointers to avoid warningsJim Meyering2009-08-171-47/+60
| | | | | | Also, ... * src/generator.ml: Add DeviceList type, and propagate that change out to all calling/interface code.
* New commands: mkfs-b, mke2journal*, mke2fs-J*Richard W.M. Jones2009-08-152-1/+85
| | | | | | | | | | mkfs-b: Pass the -b (blocksize) parameter to mkfs. mke2journal and friends: Lets you create external ext2 journals on devices. mke2fs-J and friends: Lets you create ext2/3/4 filesystems with external journals.
* generator: Generate the UUIDs for tests randomly.Richard W.M. Jones2009-08-151-18/+34
| | | | | Adds a uuidgen function which gets the random UUID from the uuid program. Uses this for tests.
* generator.ml: don't emit unused functionsJim Meyering2009-08-141-1/+9
| | | | | * src/generator.ml: Use "rstructs_used" to emit definitions only for put_TYPE_list functions that are used.
* generator.ml: factor out a functionJim Meyering2009-08-141-12/+16
| | | | * src/generator.ml (emit_put_list_function): New function.
* Work out which RStruct/RStructList structs are really used, and how.Richard W.M. Jones2009-08-141-0/+58
|
* Misc parameters which are String but should be Pathname.Richard Jones2009-08-131-9/+9
|
* cp/cp-a/mv parameters marked as Pathname.Richard Jones2009-08-131-3/+3
|
* generator.ml: convert leading TABs to spacesJim Meyering2009-08-131-4/+4
|
* generator.ml: factor out "pr_args n" functionJim Meyering2009-08-131-4/+7
|
* generator.ml: finish adding Dev_or_Path supportJim Meyering2009-08-131-31/+35
| | | | | | | | | | * src/generator.ml: Update all rules to handle Dev_or_Path. (the above changes to generator.ml are mostly mechanical) Emit a use of REQUIRE_ROOT_OR_RESOLVE_DEVICE. * daemon/upload.c (do_download): Remove use of REQUIRE_ROOT_OR_RESOLVE_DEVICE, now that it's automatically done in calling code. * daemon/file.c (do_file): Likewise.
* generator.ml: add type: Dev_or_PathJim Meyering2009-08-131-2/+3
| | | | * src/generator.ml (file, download): Use it.
* generator.ml: constify do_mkdtempJim Meyering2009-08-131-4/+2
| | | | | * daemon/dir.c (do_mkdtemp): Rewrite for a "const" parameter. * src/generator.ml (mkdtemp): Declare parameter to be of type Pathname.
* generator.ml: move String/Device decls "down" to definitionJim Meyering2009-08-131-5/+5
|
* generator.ml: use new "Pathname" designationJim Meyering2009-08-131-14/+31
| | | | | | | | | | Nearly every file-related function in daemons/*.c is affected: Remove this pair of statements from each affected do_* function: - NEED_ROOT (return -1); - ABS_PATH (dir, return -1); and change the type of the corresponding parameter to "const char *". * src/generator.ml: Emit NEED_ROOT just once, even when there are two or more Pathname args.
* generator.ml: new type, "Pathname"Jim Meyering2009-08-131-93/+111
| | | | | | | | | | * src/generator.ml: Emit NEED_ROOT and ABS_PATH into generated stubs.c, rather than requiring they be added manually at the start of each and every do_* function that operates on a "path" parameter. Update grammar: Pathname is just a String, with the above exception. Do not update augeas "path" parameters, since they are not file names, but rather ":"-separated search paths. Except aug_init, for which "path" *is* a file name.
* generator.ml: emit "const char *" for Device and String paramsJim Meyering2009-08-131-7/+5
| | | | | | * src/generator.ml: Emit "const char *", not "char *" for Device and String params, now that the non-const code is hoisted into the calling code in stubs.c.
* * src/generator.ml: Change all `String "device"' to `Device "device"'.Jim Meyering2009-08-131-43/+43
| | | | | | | | | | | | | | | | | | | | | Then update each affected function, removing each uses of RESOLVE_DEVICE, now that it's generated in caller from stub.c. * daemon/blockdev.c (call_blockdev): Remove use of RESOLVE_DEVICE. * daemon/devsparts.c (do_mkfs): Likewise. * daemon/ext2.c (do_e2fsck_f, do_get_e2label, do_get_e2uuid): Likewise. (do_resize2fs, do_set_e2label, do_set_e2uuid, do_tune2fs_l): Likewise. * daemon/fsck.c (do_fsck): Likewise. * daemon/grub.c (do_grub_install): Likewise. * daemon/lvm.c (do_lvremove, do_pvcreate, do_pvremove): Likewise. (do_pvresize): Likewise. * daemon/mount.c (do_mount_vfs): Likewise. * daemon/ntfs.c (do_ntfs_3g_probe): Likewise. * daemon/scrub.c (do_scrub_device): Likewise. * daemon/sfdisk.c (sfdisk, sfdisk_flag): Likewise. * daemon/swap.c (do_mkswap, do_mkswap_L, do_mkswap_U): Likewise. (do_swapoff_device, do_swapon_device): Likewise. * daemon/zero.c (do_zero): Likewise. * daemon/zerofree.c (do_zerofree): Likewise.
* update generator to emit each RESOLVE_DEVICE callJim Meyering2009-08-131-7/+7
| | | | | * src/generator.ml: Emit RESOLVE_DEVICE (device, goto done); just before each Device-enabled do_$FUNCTION.
* generator.ml: define new String-like type: "Device"Jim Meyering2009-08-131-23/+44
|
* add_drive: Don't use cache=off if not supported by underlying filesystem.Richard W.M. Jones2009-08-132-6/+25
| | | | | | | | | | | | | | | | | | If you use the guestfs_add_drive function, then currently it generates a qemu command line element like: -drive ...,cache=off,... This causes qemu to try to open the device with O_DIRECT. Unfortunately some filesystems don't support this flag, notably tmpfs, which means you can't use libguestfs in conjunction with tmpfs. On some systems /tmp is a tmpfs filesystem. This patch fixes this so that if the filesystem doesn't support O_DIRECT, then we omit the cache=off parameter. This seems reasonable from a reliability point of view, because if you're using tmpfs then you probably didn't expect reliability in the case where your system suddenly powers off.
* Add 'setcon', 'getcon' commands to set and get the SELinux context.Richard Jones2009-08-132-1/+19
|
* Spelling fix: labelled -> labeled.Richard Jones2009-08-121-4/+4
|
* Allow selinux=? kernel flag to be controlled.Richard Jones2009-08-122-5/+49
| | | | Adds new API calls to set and get this flags.
* Tidy up generation of java/Makefile.inc.Richard Jones2009-08-071-6/+11
| | | | | (Just whitespace and comment changes, and small restructuring of the code).
* Debug: Improve the way the qemu command line is printed.Richard Jones2009-08-071-7/+31
| | | | | | | | | | | | | | | | Change the way the qemu command is displayed to look like this: /usr/bin/qemu-kvm \ -drive file=/tmp/test.img,cache=off,if=virtio \ -m 500 \ -no-reboot \ -kernel /tmp/libguestfsHBJHRh/kernel \ -initrd /tmp/libguestfsHBJHRh/initrd \ [...] This allows the command line to be copied and pasted directly into the shell, and also makes it simpler to read.
* Allow network interface to be configured.Richard Jones2009-08-071-1/+1
| | | | | | | | Add ./configure --with-net-if=(virtio|ne2k_pci) option. This lets you workaround the following virtio_net bug: https://bugzilla.redhat.com/show_bug.cgi?id=516022
* Tests: swapon_device test mkswap /dev/sda1 instead of /dev/sdb.Richard Jones2009-08-071-4/+17
| | | | | | | | On RHEL 5, mkswap /dev/sdb fails, even with the '-f' option (contradictory to what the manual page says). This commit adds a new 'InitPartition' initialization which just creates /dev/sda1, and then does the swap test on that.
* Tests: Don't test block size in statvfs test.Richard Jones2009-08-061-2/+1
| | | | | | | The block size changes between kernel releases, causing a false failure in the tests. The error was: test_statvfs_0: bsize was 65536, expected 131072
* Add ne2k-pci driver to the appliance.Richard Jones2009-08-061-1/+1
| | | | | This allows people to use the ne2k-pci network driver, for those situations where the virtio_net driver is broken (cough 516022 cough).
* Make user network numbering explicit.Richard Jones2009-08-061-2/+2
| | | | | | Use: -net user,vlan=0,net=10.0.2.0/8 just to make the (already implicit) 10.0.2.x network explicit.
* Fix test failures in upload and download (RHBZ#515764)Matthew Booth2009-08-061-2/+4
| | | | | | | The tests hardcoded an MD5 of the test file, COPYING.LIB, whose contents had change. This change causes it to compute the MD5 rather than hardcoding it. OCaml provided by rjones.
* Fix swapon_label testMatthew Booth2009-08-051-1/+3
| | | | | | | | The swapon label test has a side-effect, in that it creates a new partition. This causes the later failure of the list_partitions test. This change causes the swapon_label test to zero /dev/sdb after the test, and then re-read the partition table.
* build: remove trailing blanks, enable syntax-checkJim Meyering2009-08-041-1/+1
| | | | | | | * regressions/test-cancellation-download-librarycancels.sh: * src/generator.ml: * cfg.mk (disable_temporarily): Remove sc_trailing_blank. * .x-sc_trailing_blank: New file.
* Convert all TABs-as-indentation to spaces.Jim Meyering2009-08-033-2041/+2041
| | | | | | | | | | | Do it by running this command: [exempted files are matched via .x-sc_TAB_in_indentation] git ls-files \ | pcregrep -vf .x-sc_TAB_in_indentation \ | xargs pcregrep -l '^ *\t' \ | xargs perl -MText::Tabs -ni -le \ '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
* guestfs: fix typo in my recent changeJim Meyering2009-08-031-3/+3
| | | | | * src/guestfs.c (guestfs_perrorf): Rename former err to errnum, to avoid compilation error.
* guestfs: don't fault upon failed vasprintfJim Meyering2009-08-031-1/+3
| | | | * src/guestfs.c (guestfs_perrorf): Handle failed vasprintf.
* guestfish: Display RStructList results more pleasantly.Richard W.M. Jones2009-07-311-15/+28
|
* Add interface to Linux 'inotify' API.Richard W.M. Jones2009-07-312-2/+109
|
* lib: Add selinux=0 to default kernel command line.Richard W.M. Jones2009-07-311-1/+2
| | | | | | | | | | | SELinux exists in a very disturbed state if it is enabled at boot time, but no policy is loaded. In particular, it messes up the security.selinux extended attributes on files in a not-very-useful way. We can't enable SELinux because we don't know what policy can or should be loaded. Therefore it's best to disable it completely.
* Improve warnings about missing tests.Richard W.M. Jones2009-07-311-5/+26
| | | | | | | Don't warn where a command just has no tests. Instead check other commands' tests so we get a definitive (and much smaller) list of commands that are not tested anywhere.
* New commands: swapon-*, swapoff-*, mkswap-file.Richard W.M. Jones2009-07-312-2/+96
| | | | | | | | | | | | swapon-device swapoff-device swapon-file swapoff-file swapon-label swapoff-label swapon-uuid swapoff-uuid mkswap-file
* New command: 'fallocate' to (pre-)allocate sized files.Richard W.M. Jones2009-07-312-1/+15
|
* New commands: 'ln', 'ln-f', 'ln-s', 'ln-sf' and 'readlink'.Richard W.M. Jones2009-07-312-1/+47
| | | | | These commands can be used to make hard and symbolic links. The readlink command is used to read existing symbolic links.
* Add 'realpath' command.Richard W.M. Jones2009-07-312-1/+9
|
* Whitespace and comment changes.Richard Jones2009-07-291-1/+14
|
* guestfish: Make more strings translatable.Richard Jones2009-07-291-7/+8
| | | | | However this doesn't yet attempt to translate the POD command documentation. We need a plan to do that.
* tests: Use squashfs for static data where possible.Richard Jones2009-07-291-84/+57
| | | | | | | | | Instead of creating a new InitBasicFS for just about every test, where a test doesn't need to write to the filesystem it is far faster to use prepared data on an InitSquashFS instead. This commit changes as many tests as possible to make this so, making the tests much faster.
* tests: Fix read_file test.Richard Jones2009-07-291-4/+25
| | | | | | | | | The test ignored the fact that this function returns a (char *, size_t) pair, and just treated the char * as a string. This of course would fail if the string didn't happen to be nul-terminated. The tests are updated to add a new TestOutputBuffer type which should be used with functions that return RBufferOut.