1. 04 1月, 2012 27 次提交
  2. 27 12月, 2011 3 次提交
    • A
      Fix qapi code generation wrt parallel build · 8d3bc517
      Avi Kivity 提交于
      Make's multiple output syntax
      
        x.c x.h: x.template
             gen < x.template
      
      actually invokes the command once for x.c and once for x.h (with differing $@
      in each invocation).  During a parallel build, the two commands may be invoked
      in parallel; this opens up a race, where the second invocation trashes a file
      supposedly produced during the first, and now in use by a dependent command.
      
      The various qapi code generators are susceptible to this; fix by making them
      generate just one file per invocation.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8d3bc517
    • A
      Merge remote-tracking branch 'aneesh/for-upstream' into staging · 4e1ea514
      Anthony Liguori 提交于
      * aneesh/for-upstream:
        scripts/analyse-9p-simpletrace.py:	Add symbolic names for 9p operations.
        hw/9pfs: iattr_valid flags are kernel internal flags map them to 9p values.
        hw/9pfs: Use the correct signed type for different variables
        hw/9pfs: replace iovec manipulation with QEMUIOVector
      4e1ea514
    • A
      Merge remote-tracking branch 'bonzini/nbd-for-anthony' into staging · ebdfc3c8
      Anthony Liguori 提交于
      * bonzini/nbd-for-anthony: (26 commits)
        nbd: add myself as maintainer
        qemu-nbd: throttle requests
        qemu-nbd: asynchronous operation
        qemu-nbd: add client pointer to NBDRequest
        qemu-nbd: move client handling to nbd.c
        qemu-nbd: use common main loop
        link the main loop and its dependencies into the tools
        qemu-nbd: introduce NBDRequest
        qemu-nbd: introduce NBDExport
        qemu-nbd: introduce nbd_do_receive_request
        qemu-nbd: more robust handling of invalid requests
        qemu-nbd: introduce nbd_do_send_reply
        qemu-nbd: simplify nbd_trip
        move corking functions to osdep.c
        qemu-nbd: remove data_size argument to nbd_trip
        qemu-nbd: remove offset argument to nbd_trip
        Update ioctl order in nbd_init() to detect EBUSY
        nbd: add support for NBD_CMD_TRIM
        nbd: add support for NBD_CMD_FLUSH
        nbd: add support for NBD_CMD_FLAG_FUA
        ...
      ebdfc3c8
  3. 23 12月, 2011 5 次提交
  4. 22 12月, 2011 5 次提交
    • P
      nbd: add myself as maintainer · 44f76b28
      Paolo Bonzini 提交于
      Not planning to do much else, hence listing it as "Odd Fixes".
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      44f76b28
    • P
      qemu-nbd: throttle requests · 41996e38
      Paolo Bonzini 提交于
      Limiting the number of in-flight requests is implemented very simply
      with a can_read callback.  It does not require a semaphore, unlike the
      client side in block/nbd.c, because we can throttle directly the creation
      of coroutines.  The client side can have a coroutine created at any time
      when an I/O request is made.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      41996e38
    • P
      qemu-nbd: asynchronous operation · 262db388
      Paolo Bonzini 提交于
      Using coroutines enable asynchronous operation on both the network and
      the block side.  Network can be owned by two coroutines at the same time,
      one writing and one reading.  On the send side, mutual exclusion is
      guaranteed by a CoMutex.  On the receive side, mutual exclusion is
      guaranteed because new coroutines immediately start receiving data,
      and no new coroutines are created as long as the previous one is receiving.
      
      Between receive and send, qemu-nbd can have an arbitrary number of
      in-flight block transfers.  Throttling is implemented by the next
      patch.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      262db388
    • P
      qemu-nbd: add client pointer to NBDRequest · 72deddc5
      Paolo Bonzini 提交于
      By attaching a client to an NBDRequest, we can avoid passing around the
      socket descriptor and data buffer.
      
      Also, we can now manage the reference count for the client in
      nbd_request_get/put request instead of having to do it ourselved in
      nbd_read.  This simplifies things when coroutines are used.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      72deddc5
    • P
      qemu-nbd: move client handling to nbd.c · 1743b515
      Paolo Bonzini 提交于
      This patch sets up the fd handler in nbd.c instead of qemu-nbd.c.  It
      introduces NBDClient, which wraps the arguments to nbd_trip in a single
      structure, so that we can add a notifier to it.  This way, qemu-nbd can
      know about disconnections.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      1743b515