qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 8b9d74: nvme: implement the Flush command


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 8b9d74: nvme: implement the Flush command
Date: Tue, 14 Jul 2015 11:00:03 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 8b9d74e0eebb2106b767d66355d38086be72ad2b
      
https://github.com/qemu/qemu/commit/8b9d74e0eebb2106b767d66355d38086be72ad2b
  Author: Christoph Hellwig <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M hw/block/nvme.c
    M hw/block/nvme.h

  Log Message:
  -----------
  nvme: implement the Flush command

Implement a real flush instead of faking it.  This is especially important
as Qemu assume Write back cashing by default and thus requires a working
cache flush operation for data integrity.

Signed-off-by: Christoph Hellwig <address@hidden>
Acked-by: Keith Busch <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 30349fd038ffb26528fad21abe1e264031364449
      
https://github.com/qemu/qemu/commit/30349fd038ffb26528fad21abe1e264031364449
  Author: Christoph Hellwig <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  nvme: properly report volatile write caches

Implement support in Identify and Get/Set Features to properly report
and allow to change the Volatile Write Cache status reported by the
virtual NVMe device.

Signed-off-by: Christoph Hellwig <address@hidden>
Acked-by: Keith Busch <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: df5817926790f6e84d1936eab523556f96fa577a
      
https://github.com/qemu/qemu/commit/df5817926790f6e84d1936eab523556f96fa577a
  Author: Kevin Wolf <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Move bdrv_attach_child() calls up the call chain

Let the callers of bdrv_open_inherit() call bdrv_attach_child(). It
needs to be called in all cases where bdrv_open_inherit() succeeds (i.e.
returns 0) and a child_role is given.

bdrv_attach_child() is moved upwards to avoid a forward declaration.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: b4b059f628173dd1d722ee8a9c592a80aec1fc2f
      
https://github.com/qemu/qemu/commit/b4b059f628173dd1d722ee8a9c592a80aec1fc2f
  Author: Kevin Wolf <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block.c
    M include/block/block.h
    M include/block/block_int.h

  Log Message:
  -----------
  block: Introduce bdrv_open_child()

It is the same as bdrv_open_image(), except that it doesn't only return
success or failure, but the newly created BdrvChild object for the new
child node.

As the BdrvChild object already contains a BlockDriverState pointer (and
this is supposed to become the only pointer so that bdrv_append() and
friends can just change a single pointer in BdrvChild), the pbs
parameter is removed for bdrv_open_child().

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 33a604075c51e5528eed970eeaeefe609ea2337d
      
https://github.com/qemu/qemu/commit/33a604075c51e5528eed970eeaeefe609ea2337d
  Author: Kevin Wolf <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block.c
    M include/block/block.h

  Log Message:
  -----------
  block: Introduce bdrv_unref_child()

This is the counterpart for bdrv_open_child(). It decreases the
reference count of the child BDS and removes it from the list of
children of the given parent BDS.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 9a7dedbc43c7c400663d2876a8ccb6d942a1429a
      
https://github.com/qemu/qemu/commit/9a7dedbc43c7c400663d2876a8ccb6d942a1429a
  Author: Kevin Wolf <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Reorder cleanups in bdrv_close()

Block drivers may still want to access their child nodes in their
.bdrv_close handler. If they unref and/or detach a child by themselves,
this should not result in a double free.

There is additional code for backing files, which are just a special
case of child nodes. The same applies for them.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 80a1e130917e0745625129553c943743eb663727
      
https://github.com/qemu/qemu/commit/80a1e130917e0745625129553c943743eb663727
  Author: Kevin Wolf <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Fix backing file child when modifying graph

This patch moves bdrv_attach_child() from the individual places that add
a backing file to a BDS to bdrv_set_backing_hd(), which is called by all
of them. It also adds bdrv_detach_child() there.

For normal operation (starting with one backing file chain and not
changing it until the topmost image is closed) and live snapshots, this
constitutes no change in behaviour.

For all other cases, this is a fix for the bug that the old backing file
was still referenced as a child, and the new one wasn't referenced.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>


  Commit: 3dbf00e058e450173c6f892bb572df871eb4ea58
      
https://github.com/qemu/qemu/commit/3dbf00e058e450173c6f892bb572df871eb4ea58
  Author: Josh Durgin <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: remove unused constants and fields

RBDAIOCB.status was only used for cancel, which was removed in
7691e24dbebb46658e89b3f950fda6ec78bbb823.

RBDAIOCB.sector_num was never used.

RADOSCB.done and rcbid were never used.

RBD_FD* are obsolete since the pipe was removed in
e04fb07fd1676e9facd7f3f878c1bbe03bccd26b.

Signed-off-by: Josh Durgin <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 5a8ac6d9d70e1a078d04ad75a5c055b00a041d70
      
https://github.com/qemu/qemu/commit/5a8ac6d9d70e1a078d04ad75a5c055b00a041d70
  Author: Josh Durgin <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: update email address

The old one still works for now, but will not work indefinitely.

Signed-off-by: Josh Durgin <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 99a3c89d5d538dc6c360e35dffb797cfe06e9cda
      
https://github.com/qemu/qemu/commit/99a3c89d5d538dc6c360e35dffb797cfe06e9cda
  Author: Josh Durgin <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: make qemu's cache setting override any ceph setting

To be safe, when cache=none is used ceph settings should not be able
to override it to turn on caching. This was previously possible with
rbd_cache=true in the rbd device configuration or a ceph configuration
file. Similarly, rbd settings could have turned off caching when qemu
requested it, although this would just be a performance problem.

Fix this by changing rbd's cache setting to match qemu after all other
ceph settings have been applied.

Signed-off-by: Josh Durgin <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e34d8f297d51b7ffa5dce72df1e45fa94cff989c
      
https://github.com/qemu/qemu/commit/e34d8f297d51b7ffa5dce72df1e45fa94cff989c
  Author: Josh Durgin <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: fix ceph settings precedence

Apply the ceph settings from a config file before any ceph settings
from the command line. Since the ceph config file location may be
specified on the command line, parse it once to read the config file,
and do a second pass to apply the rest of the command line ceph
options.

Signed-off-by: Josh Durgin <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f3947986d9bbbae1087c4c33880d3f8dbf1f1384
      
https://github.com/qemu/qemu/commit/f3947986d9bbbae1087c4c33880d3f8dbf1f1384
  Author: Peter Maydell <address@hidden>
  Date:   2015-07-14 (Tue, 14 Jul 2015)

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/rbd.c
    M hw/block/nvme.c
    M hw/block/nvme.h
    M include/block/block.h
    M include/block/block_int.h

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

Block layer patches for 2.4.0-rc1

# gpg: Signature made Tue Jul 14 16:15:35 2015 BST using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream:
  rbd: fix ceph settings precedence
  rbd: make qemu's cache setting override any ceph setting
  MAINTAINERS: update email address
  rbd: remove unused constants and fields
  block: Fix backing file child when modifying graph
  block: Reorder cleanups in bdrv_close()
  block: Introduce bdrv_unref_child()
  block: Introduce bdrv_open_child()
  block: Move bdrv_attach_child() calls up the call chain
  nvme: properly report volatile write caches
  nvme: implement the Flush command

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


Compare: https://github.com/qemu/qemu/compare/0030ff40472b...f3947986d9bb

reply via email to

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