Skip to content

Commits

Permalink
colo-v1.2-basic
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on May 21, 2015

  1. COLO: Add block replication into colo process

    Make sure master start block replication after slave's block replication started
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    193d928 View commit details
    Browse the repository at this point in the history
  2. Implement new driver for block replication

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    ea301a9 View commit details
    Browse the repository at this point in the history
  3. quorum: allow ignoring child errors

    If the child is not ready, read/write/getlength/flush will
    return -errno. It is not critical error, and can be ignored:
    1. read/write:
       Just not report the error event.
    2. getlength:
       just ignore it. If all children's getlength return -errno,
       and be ignored, return -EIO.
    3. flush:
       Just ignore it. If all children's getlength return -errno,
       and be ignored, return 0.
    
    Usage: children.x.ignore-errors=true
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    b64403e View commit details
    Browse the repository at this point in the history
  4. quorum: implement block driver interfaces for block replication

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    7398987 View commit details
    Browse the repository at this point in the history
  5. skip nbd_target when starting block replication

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    c6b709a View commit details
    Browse the repository at this point in the history
  6. Add new block driver interfaces to control block replication

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    244d9a3 View commit details
    Browse the repository at this point in the history
  7. NBD client: connect to nbd server later

    The secondary qemu starts later than the primary qemu, so we
    cannot connect to nbd server in bdrv_open(). Introduce a new
    open flags to control it.
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    d0abc0a View commit details
    Browse the repository at this point in the history
  8. Introduce a new -drive option to control whether to connect to remote…

    … target
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    f714716 View commit details
    Browse the repository at this point in the history
  9. NBD client: implement block driver interfaces to connect/disconnect N…

    …BD server
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    e392414 View commit details
    Browse the repository at this point in the history
  10. Add new block driver interface to connect/disconnect the remote target

    In some cases, we want to connect/disconnect the remote target when
    we need, not in bdrv_open()/bdrv_close().
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    2837a96 View commit details
    Browse the repository at this point in the history
  11. Don't allow a disk use backing reference target

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    b4e21a4 View commit details
    Browse the repository at this point in the history
  12. Backup: clear all bitmap when doing block checkpoint

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    Cc: Jeff Cody <jcody@redhat.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    f74ea67 View commit details
    Browse the repository at this point in the history
  13. block: Parse "backing_reference" option to reference existing BDS

    Usage:
    -drive file=xxx,id=Y, \
    -drive file=xxxx,id=X,backing_reference.drive_id=Y,backing_reference.hidden-disk.*
    
    It will create such backing chain:
                   {virtio-blk dev 'Y'}                                      {virtio-blk dev 'X'}
                             |                                                          |
                             |                                                          |
                             v                                                          v
    
        [base] <- [mid] <- ( Y )  <----------------- (hidden target) <--------------- ( X )
    
                             v                              ^
                             v                              ^
                             v                              ^
                             v                              ^
                             >>>> drive-backup sync=none >>>>
    
    X's backing file is hidden-disk, and hidden-disk's backing file is Y.
    Disk Y may be opened or reopened in read-write mode, so A block backup
    job is automatically created: source is Y and target is hidden disk.
    Active disk X, hidden disk, and Y are all on the same AioContext.
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    78c6d4f View commit details
    Browse the repository at this point in the history
  14. Allow creating backup jobs when opening BDS

    When opening BDS, we need to create backup jobs for
    image-fleecing.
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    Cc: Jeff Cody <jcody@redhat.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    8b599e5 View commit details
    Browse the repository at this point in the history
  15. allow writing to the backing file

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    326c29e View commit details
    Browse the repository at this point in the history
  16. docs: block replication's description

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    9187ff7 View commit details
    Browse the repository at this point in the history
  17. util/hbitmap: Add an API to reset all set bits in hbitmap

    The function bdrv_clear_dirty_bitmap() is updated to use
    faster hbitmap_reset_all() call.
    
    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    Acked-by: Paolo Bonzini <pbonzini@redhat.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    3c32fa9 View commit details
    Browse the repository at this point in the history
  18. iov: don't touch iov in iov_send_recv()

    Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    wencongyang authored and colo-ft committed May 21, 2015
    Copy the full SHA
    b6791f9 View commit details
    Browse the repository at this point in the history
  19. COLO: Implement shutdown checkpoint

    For SVM, we forbid it shutdown directly when in COLO mode,
    FOR PVM's shutdown, we should do some work to ensure the consistent action
    between PVM and SVM.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    c560b17 View commit details
    Browse the repository at this point in the history
  20. COLO: Disable qdev hotplug when VM is in COLO mode

    COLO do not support qdev hotplug migration, disable it.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    3345cb8 View commit details
    Browse the repository at this point in the history
  21. COLO NIC: Implement NIC checkpoint and failover

    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    04ffd04 View commit details
    Browse the repository at this point in the history
  22. COLO: Add colo-set-checkpoint-period command

    With this command, we can control the period of checkpoint, if
    there is no comparison of net packets.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    cdcaae5 View commit details
    Browse the repository at this point in the history
  23. COLO: Improve checkpoint efficiency by do additional periodic checkpoint

    Besides normal checkpoint which according to the result of net packets
    comparing, We do additional checkpoint periodically, it will reduce the number
    of dirty pages when do one checkpoint, if we don't do checkpoint for a long
    time (This is a special case when the net packets is always consistent).
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    c719e37 View commit details
    Browse the repository at this point in the history
  24. COLO: Do checkpoint according to the result of packets comparation

    Only do checkpoint, when the PVM's and SVM's output net packets are inconsistent,
    We also limit the min time between two continuous checkpoint action, to
    give VM a change to run.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    c42ec3a View commit details
    Browse the repository at this point in the history
  25. COLO: Handle nfnetlink message from proxy module

    Proxy module will send message to qemu through nfnetlink.
    Now, the message only contains the result of packets comparation.
    
    We use a global variable 'packet_compare_different' to store the result.
    And this variable should be accessed by using atomic related function,
    such as 'atomic_set' 'atomic_xchg'.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    b6c40cb View commit details
    Browse the repository at this point in the history
  26. COLO NIC: Some init work related with proxy module

    Implement communication protocol with proxy module by using
    nfnetlink, which requires libnfnetlink libs.
    
    Tell proxy module to do initialization work and moreover ask
    kernel to acknowledge the request. It's is necessary for the first
    time because Netlink is not a reliable protocol.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    b51487e View commit details
    Browse the repository at this point in the history
  27. COLO NIC : Implement colo nic init/destroy function

    When in colo mode, call colo nic init/destroy function.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    959ac4c View commit details
    Browse the repository at this point in the history
  28. COLO NIC: Implement colo nic device interface configure()

    Implement colo nic device interface configure()
    add a script to configure nic devices:
    ${QEMU_SCRIPT_DIR}/colo-proxy-script.sh
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    ac531a4 View commit details
    Browse the repository at this point in the history
  29. COLO NIC: Init/remove colo nic devices when add/cleanup tap devices

    When COLO mode, we do some init work for nic that will be used for COLO.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    a25c6b0 View commit details
    Browse the repository at this point in the history
  30. COLO: Add new command parameter 'colo_nicname' 'colo_script' for net

    The 'colo_nicname' should be assigned with network name,
    for exmple, 'eth2'. It will be parameter of 'colo_script',
    'colo_script' should be assigned with an scirpt path.
    
    We parse these parameter in tap.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    44f137e View commit details
    Browse the repository at this point in the history
  31. COLO failover: Don't do failover during loading VM's state

    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    2767b16 View commit details
    Browse the repository at this point in the history
  32. COLO failover: Implement COLO master/slave failover work

    If failover is requested, after some cleanup work,
    PVM or SVM will exit COLO mode, and resume to normal run.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    672696e View commit details
    Browse the repository at this point in the history
  33. COLO failover: Introduce a new command to trigger a failover

    We leave users to use whatever heartbeat solution they want, if the heartbeat
    is lost, or other errors they detect, they can use command
    'colo_lost_heartbeat' to tell COLO to do failover, COLO will do operations
    accordingly.
    
    For example,
    If send the command to PVM, Primary will exit COLO mode, and takeover,
    if to Secondary, Secondary will do failover work and at last takeover server.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    9f82ec7 View commit details
    Browse the repository at this point in the history
  34. COLO RAM: Flush cached RAM into SVM's memory

    During the time of VM's running, PVM/SVM may dirty some pages, we will transfer
    PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint
    time. So, the content of SVM's RAM cache will always be some with PVM's memory
    after checkpoint.
    
    Instead of flushing all content of SVM's RAM cache into SVM's MEMORY,
    we do this in a more efficient way:
    Only flush any page that dirtied by PVM or SVM since last checkpoint.
    In this way, we ensure SVM's memory same with PVM's.
    
    Besides, we must ensure flush RAM cache before load device state.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
    Signed-off-by: Gonglei <arei.gonglei@huawei.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    2a28745 View commit details
    Browse the repository at this point in the history
  35. arch_init: Start to trace dirty pages of SVM

    we will use this dirty bitmap together with VM's cache RAM dirty bitmap
    to decide which page in cache should be flushed into VM's RAM.
    
    Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
    colo-ft committed May 21, 2015
    Copy the full SHA
    de8ad3f View commit details
    Browse the repository at this point in the history
Older