qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a1bf8b: 9pfs: add missing coroutine_fn annota


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] a1bf8b: 9pfs: add missing coroutine_fn annotations
Date: Wed, 25 Jan 2017 11:00:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a1bf8b7414a336c9d26bf62efecdbe64b3617d76
      
https://github.com/qemu/qemu/commit/a1bf8b7414a336c9d26bf62efecdbe64b3617d76
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

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

  Log Message:
  -----------
  9pfs: add missing coroutine_fn annotations

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


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

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

  Log Message:
  -----------
  tests: virtio-9p: improve error reporting

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


  Commit: 0d78289c3dca3de8e614a551a3d4a9415168ace0
      
https://github.com/qemu/qemu/commit/0d78289c3dca3de8e614a551a3d4a9415168ace0
  Author: Greg Kurz <address@hidden>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

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

  Log Message:
  -----------
  9pfs: fix off-by-one error in PDU free list

The server can handle MAX_REQ - 1 PDUs at a time and the virtio-9p
device has a MAX_REQ sized virtqueue. If the client manages to fill
up the virtqueue, pdu_alloc() will fail and the request won't be
processed without any notice to the client (it actually causes the
linux 9p client to hang).

This has been there since the beginning (commit 9f10751365b2 "virtio-9p:
Add a virtio 9p device to qemu"), but it needs an agressive workload to
run in the guest to show up.

We actually allocate MAX_REQ PDUs and I see no reason not to link them
all into the free list, so let's fix the init loop.

Reported-by: Tuomas Tynkkynen <address@hidden>
Suggested-by: Al Viro <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>


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

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

  Log Message:
  -----------
  9pfs: local: trivial cosmetic fix in pwritev op

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


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

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

  Log Message:
  -----------
  9pfs: fix offset error in v9fs_xattr_read()

The current code tries to copy `read_count' bytes starting at offset
`offset' from a `read_count`-sized iovec. This causes v9fs_pack() to
fail with ENOBUFS.

Since the PDU iovec is already partially filled with `offset' bytes,
let's skip them when creating `qiov_full' and have v9fs_pack() to
copy the whole of it. Moreover, this is consistent with the other
places where v9fs_init_qiov_from_pdu() is called.

This fixes commit "bcb8998fac16 9pfs: call v9fs_init_qiov_from_pdu
before v9fs_pack".

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


  Commit: c7f1cf01b8245762ca5864e835d84f6677ae8b1f
      
https://github.com/qemu/qemu/commit/c7f1cf01b8245762ca5864e835d84f6677ae8b1f
  Author: Peter Maydell <address@hidden>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

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

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

This pull request fixes a 2.9 regression and a long standing bug that can
cause 9p clients to hang. Other patches are minor enhancements.

# gpg: Signature made Wed 25 Jan 2017 10:12:27 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:
  9pfs: fix offset error in v9fs_xattr_read()
  9pfs: local: trivial cosmetic fix in pwritev op
  9pfs: fix off-by-one error in PDU free list
  tests: virtio-9p: improve error reporting
  9pfs: add missing coroutine_fn annotations

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


Compare: https://github.com/qemu/qemu/compare/e32c41e4f65f...c7f1cf01b824

reply via email to

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