qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 18adde: 9pfs: fix multiple flush for same req


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 18adde: 9pfs: fix multiple flush for same request
Date: Tue, 04 Apr 2017 10:45:09 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 18adde86ddc6dbef865a3d360bf8e15dce85756d
      
https://github.com/qemu/qemu/commit/18adde86ddc6dbef865a3d360bf8e15dce85756d
  Author: Greg Kurz <address@hidden>
  Date:   2017-04-04 (Tue, 04 Apr 2017)

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

  Log Message:
  -----------
  9pfs: fix multiple flush for same request

If a client tries to flush the same outstanding request several times, only
the first flush completes. Subsequent ones keep waiting for the request
completion in v9fs_flush() and, therefore, leak a PDU. This will cause QEMU
to hang when draining active PDUs the next time the device is reset.

Let have each flush request wake up the next one if any. The last waiter
frees the cancelled PDU.

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


  Commit: 6d54af0ea9eeee70b4c0eb48bd2ae1d22b207dd4
      
https://github.com/qemu/qemu/commit/6d54af0ea9eeee70b4c0eb48bd2ae1d22b207dd4
  Author: Greg Kurz <address@hidden>
  Date:   2017-04-04 (Tue, 04 Apr 2017)

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

  Log Message:
  -----------
  9pfs: clear migration blocker at session reset

The migration blocker survives a device reset: if the guest mounts a 9p
share and then gets rebooted with system_reset, it will be unmigratable
until it remounts and umounts the 9p share again.

This happens because the migration blocker is supposed to be cleared when
we put the last reference on the root fid, but virtfs_reset() wrongly calls
free_fid() instead of put_fid().

This patch fixes virtfs_reset() so that it honor the way fids are supposed
to be manipulated: first get a reference and later put it back when you're
done.

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


  Commit: 1413c663c9e02a8669e67ed6e9a21941a8df5f92
      
https://github.com/qemu/qemu/commit/1413c663c9e02a8669e67ed6e9a21941a8df5f92
  Author: Peter Maydell <address@hidden>
  Date:   2017-04-04 (Tue, 04 Apr 2017)

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

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

Some 9pfs bugs fixes: potential hang at reset, migration blocker leak.

# gpg: Signature made Tue 04 Apr 2017 17:07:55 BST
# 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 "Gregory Kurz (Groug) <address@hidden>"
# gpg:                 aka "[jpeg image of size 3330]"
# 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: clear migration blocker at session reset
  9pfs: fix multiple flush for same request

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


  Commit: 1fde6ee885d3e778acb326cab9f7037939839537
      
https://github.com/qemu/qemu/commit/1fde6ee885d3e778acb326cab9f7037939839537
  Author: Peter Maydell <address@hidden>
  Date:   2017-04-04 (Tue, 04 Apr 2017)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update version for v2.9.0-rc3 release

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


Compare: https://github.com/qemu/qemu/compare/2c9938c5d71a...1fde6ee885d3

reply via email to

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