qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 583f21: 9pfs: move pdus to V9fsState


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 583f21: 9pfs: move pdus to V9fsState
Date: Thu, 05 Jan 2017 03:30:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 583f21f8b9982d60c451e812af2d9dfe19d19d3f
      
https://github.com/qemu/qemu/commit/583f21f8b9982d60c451e812af2d9dfe19d19d3f
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c
    M hw/9pfs/9p.h
    M hw/9pfs/virtio-9p.h

  Log Message:
  -----------
  9pfs: move pdus to V9fsState

pdus are initialized and used in 9pfs common code. Move the array from
V9fsVirtioState to V9fsState.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>


  Commit: ea83441cc44143b5b68a400ae4292a3eef14a675
      
https://github.com/qemu/qemu/commit/ea83441cc44143b5b68a400ae4292a3eef14a675
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c
    M hw/9pfs/9p.h
    M hw/9pfs/virtio-9p-device.c
    M hw/9pfs/virtio-9p.h

  Log Message:
  -----------
  9pfs: introduce transport specific callbacks

Don't call virtio functions from 9pfs generic code, use generic function
callbacks instead.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>


  Commit: bcb8998fac16a7f26ac9cc3637e17701cfe69e5b
      
https://github.com/qemu/qemu/commit/bcb8998fac16a7f26ac9cc3637e17701cfe69e5b
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c

  Log Message:
  -----------
  9pfs: call v9fs_init_qiov_from_pdu before v9fs_pack

v9fs_xattr_read should not access VirtQueueElement elems directly.
Move v9fs_init_qiov_from_pdu up in the file and call
v9fs_init_qiov_from_pdu before v9fs_pack. Use v9fs_pack on the new
iovec.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>


  Commit: 88da0b03019ecadc3faaddf81a97c7ac83448280
      
https://github.com/qemu/qemu/commit/88da0b03019ecadc3faaddf81a97c7ac83448280
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c
    M hw/9pfs/9p.h
    M hw/9pfs/virtio-9p-device.c

  Log Message:
  -----------
  9pfs: introduce init_out/in_iov_from_pdu

Not all 9pfs transports share memory between request and response. For
those who don't, it is necessary to know how much memory is required in
the response.

Split the existing init_iov_from_pdu function in two:
init_out_iov_from_pdu (for writes) and init_in_iov_from_pdu (for reads).
init_in_iov_from_pdu takes an additional size parameter to specify the
memory required for the response message.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>


  Commit: f2b58c43758efc61e2a49b899f5e58848489d0dc
      
https://github.com/qemu/qemu/commit/f2b58c43758efc61e2a49b899f5e58848489d0dc
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c

  Log Message:
  -----------
  9pfs: fix crash when fsdev is missing

If the user passes -device virtio-9p without the corresponding -fsdev, QEMU
dereferences a NULL pointer and crashes.

This is a 2.8 regression introduced by commit 702dbcc274e2c.

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Li Qiang <address@hidden>


  Commit: d5ebc8272b513adfdd6a8309d2c491e6bdc836b8
      
https://github.com/qemu/qemu/commit/d5ebc8272b513adfdd6a8309d2c491e6bdc836b8
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: rename PCI configuration test

Signed-off-by: Greg Kurz <address@hidden>


  Commit: 1211d81b17e74df5ebc26884778b59b4e3ea064f
      
https://github.com/qemu/qemu/commit/1211d81b17e74df5ebc26884778b59b4e3ea064f
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: code refactoring

This moves the test_share static and the QOSState into the QVirtIO9P
structure, and put PCI related code in functions with a _pci_ name.

This will avoid code duplication in future tests, and allow to add
support for non-PCI platforms.

Signed-off-by: Greg Kurz <address@hidden>


  Commit: baecbde6d75076c6631a58475866b2330391b819
      
https://github.com/qemu/qemu/commit/baecbde6d75076c6631a58475866b2330391b819
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.h

  Log Message:
  -----------
  9pfs: fix P9_NOTAG and P9_NOFID macros

The u16 and u32 types don't exist in QEMU common headers. It never broke
build because these two macros aren't use by the current code, but this
is about to change with the future addition of functional tests for 9P.

Also, these should have enclosing parenthesis to be usable in any
syntactical situation.

As suggested by Eric Blake, let's use UINT16_MAX and UINT32_MAX to address
both issues.

Signed-off-by: Greg Kurz <address@hidden>


  Commit: 6cc9906b4c4a659841485ac483f608dea31dfa63
      
https://github.com/qemu/qemu/commit/6cc9906b4c4a659841485ac483f608dea31dfa63
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: add version operation test

This patch lays the foundations to be able to test 9P operations and
provides a test for the version operation as a first example.

A 9P request is composed of a T-message sent by the client (guest) to the
server (QEMU), and a R-message sent by the server back to the client.

The following general calls are available to implement requests for any
9P operations:

v9fs_req_init(): allocates the request structure and the guest memory for
           the T-message

v9fs_req_send(): allocates the guest memory for the R-message and sends the
           T-message to QEMU

v9fs_req_recv(): waits for QEMU to answer and does some sanity checks on the
           returned R-message header

v9fs_req_free(): releases the guest memory and the request structure

Helpers are provided, to be used by each specific 9P operation to copy data
to/from the guest memory.

The version operation is used to negotiate the 9P protocol version to be
used and the maximum buffer size for exchanged data. It is necessarily
the first message of a 9P session. For simplicity, the maximum buffer size
is hardcoded to 4k, which should be enough for functional tests.

The test simply advertises the "9P2000.L" version to QEMU and expects QEMU
to answer it is supported.

References:

http://man.cat-v.org/plan_9/5/intro
http://man.cat-v.org/plan_9/5/version

Signed-off-by: Greg Kurz <address@hidden>


  Commit: 5c3df1f0967e2166fff9c026ff1f616a89cab391
      
https://github.com/qemu/qemu/commit/5c3df1f0967e2166fff9c026ff1f616a89cab391
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: add attach operation test

The attach operation is used to establish a connection between the
client and the server. After this, the client is able to access the
underlying filesystem and do I/O.

This test simply ensures the operation succeeds without error.

Reference:

http://man.cat-v.org/plan_9/5/attach

Signed-off-by: Greg Kurz <address@hidden>


  Commit: 04b88c84a14b55d31b9e8aec1fe86ab43e111662
      
https://github.com/qemu/qemu/commit/04b88c84a14b55d31b9e8aec1fe86ab43e111662
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: add walk operation test

The walk operation is used to traverse the directory tree and to associate
paths to fids. A single walk can be used to traverse up to P9_MAXWELEM path
elements at the same time.

The test creates a path with P9_MAXWELEM elements on the backend (à la
'mkdir -p') and issues a walk operation. The walk is expected to succeed
without error.

Reference:

http://man.cat-v.org/plan_9/5/walk

Signed-off-by: Greg Kurz <address@hidden>


  Commit: ba0d10378c5b040d20adc3340f74640b47528d4b
      
https://github.com/qemu/qemu/commit/ba0d10378c5b040d20adc3340f74640b47528d4b
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: no slash in path elements during walk

The walk operation is expected to fail and to return ENOENT.

Signed-off-by: Greg Kurz <address@hidden>


  Commit: a37c07022b44e4fc29238deca7588406d081e6c2
      
https://github.com/qemu/qemu/commit/a37c07022b44e4fc29238deca7588406d081e6c2
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: virtio-9p: ".." cannot be used to walk out of the shared directory

According to the 9P spec at http://man.cat-v.org/plan_9/5/intro, the
parent directory of the root directory of a server's tree is itself.
This test hence checks that the qid of the root directory as returned by
attach is the same as the qid of ".." when walking from the root directory.

Signed-off-by: Greg Kurz <address@hidden>


  Commit: 9c904a7581d6e1bf693fe5cfe2d7cbf0a6009db6
      
https://github.com/qemu/qemu/commit/9c904a7581d6e1bf693fe5cfe2d7cbf0a6009db6
  Author: Peter Maydell <address@hidden>
  Date:   2017-01-05 (Thu, 05 Jan 2017)

  Changed paths:
    M hw/9pfs/9p.c
    M hw/9pfs/9p.h
    M hw/9pfs/virtio-9p-device.c
    M hw/9pfs/virtio-9p.h
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/gkurz/tags/for-upstream' into staging

- transport specific callbacks (for Xen)
- fix crash (2.8 regression)
- 9p functional tests

# gpg: Signature made Tue 03 Jan 2017 17:30:58 GMT
# gpg:                using DSA key 0x02FC3AEB0101DBC2
# gpg: Good signature from "Greg Kurz <address@hidden>"
# gpg:                 aka "Greg Kurz <address@hidden>"
# gpg:                 aka "Greg Kurz <address@hidden>"
# gpg:                 aka "Greg Kurz <address@hidden>"
# gpg:                 aka "Gregory Kurz (Groug) <address@hidden>"
# gpg:                 aka "Gregory Kurz (Cimai Technology) <address@hidden>"
# gpg:                 aka "Gregory Kurz (Meiosys Technology) <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 2BD4 3B44 535E C0A7 9894  DBA2 02FC 3AEB 0101 DBC2

* remotes/gkurz/tags/for-upstream:
  tests: virtio-9p: ".." cannot be used to walk out of the shared directory
  tests: virtio-9p: no slash in path elements during walk
  tests: virtio-9p: add walk operation test
  tests: virtio-9p: add attach operation test
  tests: virtio-9p: add version operation test
  9pfs: fix P9_NOTAG and P9_NOFID macros
  tests: virtio-9p: code refactoring
  tests: virtio-9p: rename PCI configuration test
  9pfs: fix crash when fsdev is missing
  9pfs: introduce init_out/in_iov_from_pdu
  9pfs: call v9fs_init_qiov_from_pdu before v9fs_pack
  9pfs: introduce transport specific callbacks
  9pfs: move pdus to V9fsState

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/12597061b3fd...9c904a7581d6

reply via email to

[Prev in Thread] Current Thread [Next in Thread]