1. 22 10月, 2014 1 次提交
  2. 08 8月, 2014 3 次提交
    • T
      qga: Disable unsupported commands by default · 1281c08a
      Tomoki Sekiyama 提交于
      Currently management softwares cannot know whether a qemu-ga command is
      supported or not on the running platform until they actually execute it.
      This patch disables unsupported commands at launch time of qemu-ga, so that
      management softwares can check whether they are supported from 'enabled'
      property of the result from 'guest-info' command.
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      1281c08a
    • T
      qga: Add guest-get-fsinfo command · 46d4c572
      Tomoki Sekiyama 提交于
      Add command to get mounted filesystems information in the guest.
      The returned value contains a list of mountpoint paths and
      corresponding disks info such as disk bus type, drive address,
      and the disk controllers' PCI addresses, so that management layer
      such as libvirt can resolve the disk backends.
      
      For example, when `lsblk' result is:
      
          NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
          sdb              8:16   0    1G  0 disk
          `-sdb1           8:17   0 1024M  0 part
            `-vg0-lv0    253:1    0  1.4G  0 lvm  /mnt/test
          sdc              8:32   0    1G  0 disk
          `-sdc1           8:33   0  512M  0 part
            `-vg0-lv0    253:1    0  1.4G  0 lvm  /mnt/test
          vda            252:0    0   25G  0 disk
          `-vda1         252:1    0   25G  0 part /
      
      where sdb is a SCSI disk with PCI controller 0000:00:0a.0 and ID=1,
            sdc is an IDE disk with PCI controller 0000:00:01.1, and
            vda is a virtio-blk disk with PCI device 0000:00:06.0,
      
      guest-get-fsinfo command will return the following result:
      
          {"return":
           [{"name":"dm-1",
             "mountpoint":"/mnt/test",
             "disk":[
              {"bus-type":"scsi","bus":0,"unit":1,"target":0,
               "pci-controller":{"bus":0,"slot":10,"domain":0,"function":0}},
              {"bus-type":"ide","bus":0,"unit":0,"target":0,
               "pci-controller":{"bus":0,"slot":1,"domain":0,"function":1}}],
             "type":"xfs"},
            {"name":"vda1", "mountpoint":"/",
             "disk":[
              {"bus-type":"virtio","bus":0,"unit":0,"target":0,
               "pci-controller":{"bus":0,"slot":6,"domain":0,"function":0}}],
             "type":"ext4"}]}
      
      In Linux guest, the disk information is resolved from sysfs. So far,
      it only supports virtio-blk, virtio-scsi, IDE, SATA, SCSI disks on x86
      hosts, and "disk" parameter may be empty for unsupported disk types.
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      
      *updated schema to report 2.2 as initial supported version
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      46d4c572
    • T
      qga: Add guest-fsfreeze-freeze-list command · e99bce20
      Tomoki Sekiyama 提交于
      If an array of mount point paths is specified as 'mountpoints' argument
      of guest-fsfreeze-freeze-list, qemu-ga will only freeze the file systems
      mounted on specified paths in Linux guests. Otherwise, it works as the
      same way as guest-fsfreeze-freeze.
      This would be useful when the host wants to create partial disk snapshots.
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      
      *updated schema to report 2.2 as initial supported version
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      e99bce20
  3. 18 7月, 2014 1 次提交
  4. 09 5月, 2014 3 次提交
  5. 18 4月, 2014 1 次提交
  6. 24 2月, 2014 2 次提交
  7. 18 2月, 2014 1 次提交
  8. 22 11月, 2013 1 次提交
    • S
      qga: Fix compiler warnings (missing format attribute, wrong format strings) · d607a523
      Stefan Weil 提交于
      gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
      
        CC    qga/commands.o
      qga/commands.c: In function ‘slog’:
      qga/commands.c:28:5: error:
       function might be possible candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
           g_logv("syslog", G_LOG_LEVEL_INFO, fmt, ap);
           ^
      
      gcc 4.8.2 reports this warning when slog is declared with the
      gnu_printf format attribute:
      
      qga/commands-posix.c: In function ‘qmp_guest_file_open’:
      qga/commands-posix.c:404:5: warning:
       format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘int64_t’ [-Wformat=]
           slog("guest-file-open, handle: %d", handle);
           ^
      
      On 32 bit hosts there are three more warnings which are also fixed here.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d607a523
  9. 16 11月, 2013 1 次提交
    • W
      qga: Fix shutdown command of guest agent to work with SysV · 485e741c
      whitearchey 提交于
      For now guest agent uses following command to shutdown system:
      shutdown -P +0 "blabla"
      but this syntax works only with shutdown command from systemd or upstart,
      because SysV shutdown requires -h switch.
      
      Following patch changes the command so it works with systemd, upstart and SysV
      
      With upstart/systemd qga use one of thee commands, depending on 'mode' parameter:
        shutdown -P +0 "..."
        shutdown -H +0 "..."
        shutdown -r +0 "..."
      SysV equivalents for these are:
        shutdown -h -P +0 "..."
        shutdown -h -H +0 "..."
        shutdown -h -r +0 "..."
      and these retain their meaning with upstart/systemd.
      
      According to FreeBSD manpages, shutdown does not accept -P and -H options. Commands should be:
        shutdown -p +0 "..."
        shutdown -h +0 "..."
        shutdown -r +0 "..."
      
      shutdown in Solaris does not accept any of -hHpPr and does not accept time in "+0" format
      Signed-off-by: NMichael Avdienko <whitearchey@gmail.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      485e741c
  10. 11 10月, 2013 1 次提交
  11. 13 5月, 2013 2 次提交
  12. 07 5月, 2013 1 次提交
    • L
      qga: set umask 0077 when daemonizing (CVE-2013-2007) · c689b4f1
      Laszlo Ersek 提交于
      The qemu guest agent creates a bunch of files with insecure permissions
      when started in daemon mode. For example:
      
        -rw-rw-rw- 1 root root /var/log/qemu-ga.log
        -rw-rw-rw- 1 root root /var/run/qga.state
        -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log
      
      In addition, at least all files created with the "guest-file-open" QMP
      command, and all files created with shell output redirection (or
      otherwise) by utilities invoked by the fsfreeze hook script are affected.
      
      For now mask all file mode bits for "group" and "others" in
      become_daemon().
      
      Temporarily, for compatibility reasons, stick with the 0666 file-mode in
      case of files newly created by the "guest-file-open" QMP call. Do so
      without changing the umask temporarily.
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      c689b4f1
  13. 22 3月, 2013 1 次提交
  14. 12 3月, 2013 6 次提交
  15. 29 1月, 2013 2 次提交
  16. 19 1月, 2013 1 次提交
  17. 09 1月, 2013 11 次提交
  18. 19 12月, 2012 1 次提交