1. 09 1月, 2016 3 次提交
  2. 08 1月, 2016 1 次提交
  3. 07 1月, 2016 1 次提交
  4. 04 1月, 2016 1 次提交
    • M
      qemu: do not leak NBD disk data in migration cookie · 28c9eea0
      Michael Chapman 提交于
      Valgrind complained:
      
      ==18990== 20 (16 direct, 4 indirect) bytes in 1 blocks are definitely lost in loss record 188 of 996
      ==18990==    at 0x4A057BB: calloc (vg_replace_malloc.c:593)
      ==18990==    by 0x5292E9B: virAllocN (viralloc.c:191)
      ==18990==    by 0x2221E731: qemuMigrationCookieXMLParseStr (qemu_migration.c:1012)
      ==18990==    by 0x2221F390: qemuMigrationEatCookie (qemu_migration.c:1413)
      ==18990==    by 0x222228CE: qemuMigrationPrepareAny (qemu_migration.c:3463)
      ==18990==    by 0x22224121: qemuMigrationPrepareDirect (qemu_migration.c:3865)
      ==18990==    by 0x22251C25: qemuDomainMigratePrepare3Params (qemu_driver.c:12414)
      ==18990==    by 0x5389EE0: virDomainMigratePrepare3Params (libvirt-domain.c:5107)
      ==18990==    by 0x1278DB: remoteDispatchDomainMigratePrepare3ParamsHelper (remote.c:5425)
      ==18990==    by 0x53FF287: virNetServerProgramDispatch (virnetserverprogram.c:437)
      ==18990==    by 0x540523D: virNetServerProcessMsg (virnetserver.c:135)
      ==18990==    by 0x54052C7: virNetServerHandleJob (virnetserver.c:156)
      ==18990==
      ==18990== 20 (16 direct, 4 indirect) bytes in 1 blocks are definitely lost in loss record 189 of 996
      ==18990==    at 0x4A057BB: calloc (vg_replace_malloc.c:593)
      ==18990==    by 0x5292E9B: virAllocN (viralloc.c:191)
      ==18990==    by 0x2221E731: qemuMigrationCookieXMLParseStr (qemu_migration.c:1012)
      ==18990==    by 0x2221F390: qemuMigrationEatCookie (qemu_migration.c:1413)
      ==18990==    by 0x222249D2: qemuMigrationRun (qemu_migration.c:4395)
      ==18990==    by 0x22226365: doNativeMigrate (qemu_migration.c:4693)
      ==18990==    by 0x22228E45: qemuMigrationPerform (qemu_migration.c:5553)
      ==18990==    by 0x2225144B: qemuDomainMigratePerform3Params (qemu_driver.c:12621)
      ==18990==    by 0x539F5D8: virDomainMigratePerform3Params (libvirt-domain.c:5206)
      ==18990==    by 0x127305: remoteDispatchDomainMigratePerform3ParamsHelper (remote.c:5557)
      ==18990==    by 0x53FF287: virNetServerProgramDispatch (virnetserverprogram.c:437)
      ==18990==    by 0x540523D: virNetServerProcessMsg (virnetserver.c:135)
      
      If we're replacing the NBD data, it's simplest to free the old object
      (including the disk list) and allocate a new one.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      28c9eea0
  5. 26 11月, 2015 2 次提交
    • D
      qemu: convert monitor to use qemuDomainLogContextPtr indirectly · a48539c0
      Daniel P. Berrange 提交于
      Currently the QEMU monitor is given an FD to the logfile. This
      won't work in the future with virtlogd, so it needs to use the
      qemuDomainLogContextPtr instead, but it shouldn't directly
      access that object either. So define a callback that the
      monitor can use for reporting errors from the log file.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a48539c0
    • D
      qemu: unify code for reporting errors from QEMU log files · 69b09921
      Daniel P. Berrange 提交于
      There are two pretty similar functions qemuProcessReadLog and
      qemuProcessReadChildErrors. Both read from the QEMU log file
      and try to strip out libvirt messages. The latter then reports
      an error, while the former lets the callers report an error.
      
      Re-write qemuProcessReadLog so that it uses a single read
      into a dynamically allocated buffer. Then introduce a new
      qemuProcessReportLogError that calls qemuProcessReadLog
      and reports an error.
      
      Convert all callers to use qemuProcessReportLogError.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      69b09921
  6. 25 11月, 2015 4 次提交
  7. 19 11月, 2015 3 次提交
  8. 10 11月, 2015 1 次提交
  9. 05 11月, 2015 2 次提交
  10. 27 10月, 2015 1 次提交
  11. 16 10月, 2015 1 次提交
    • S
      Close the source fd if the destination qemu exits during tunnelled migration · b39a1fe1
      Shivaprasad G Bhat 提交于
      Tunnelled migration can hang if the destination qemu exits despite all the
      ABI checks. This happens whenever the destination qemu exits before the
      complete transfer is noticed by source qemu. The savevm state checks at
      runtime can fail at destination and cause qemu to error out.
      The source qemu cant notice it as the EPIPE is not propogated to it.
      The qemuMigrationIOFunc() notices the stream being broken from virStreamSend()
      and it cleans up the stream alone. The qemuMigrationWaitForCompletion() would
      never get to 100% transfer completion.
      The qemuMigrationWaitForCompletion() never breaks out as well since
      the ssh connection to destination is healthy, and the source qemu also thinks
      the migration is ongoing as the Fd to which it transfers, is never
      closed or broken. So, the migration will hang forever. Even Ctrl-C on the
      virsh migrate wouldn't be honoured. Close the source side FD when there is
      an error in the stream. That way, the source qemu updates itself and
      qemuMigrationWaitForCompletion() notices the failure.
      
      Close the FD for all kinds of errors to be sure. The error message is not
      copied for EPIPE so that the destination error is copied instead later.
      
      Note:
      Reproducible with repeated migrations between Power hosts running in different
      subcores-per-core modes.
      Signed-off-by: NShivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
      b39a1fe1
  12. 07 10月, 2015 4 次提交
  13. 06 10月, 2015 5 次提交
  14. 24 9月, 2015 1 次提交
  15. 22 9月, 2015 2 次提交
  16. 18 9月, 2015 8 次提交