All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] block: Do not call BlockDriver.bdrv_make_empty() directly
@ 2020-04-28 13:26 Max Reitz
  2020-04-28 13:26 ` [PATCH 1/4] block: Add bdrv_make_empty() Max Reitz
                   ` (10 more replies)
  0 siblings, 11 replies; 31+ messages in thread
From: Max Reitz @ 2020-04-28 13:26 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Branch: https://github.com/XanClic/qemu.git fix-bdrv_make_empty-v1
Branch: https://git.xanclic.moe/XanClic/qemu.git fix-bdrv_make_empty-v1

Hi,

Right now, there is no centralized bdrv_make_empty() function.  Not only
is it bad style to call BlockDriver methods directly, it is also wrong,
unless the caller has a BdrvChild with BLK_PERM_WRITE taken.

This series fixes that.

Note that as far as I’m aware this series shouldn’t visibly fix anything
at this point; but “block: Introduce real BdrvChildRole”
(https://lists.nongnu.org/archive/html/qemu-block/2020-02/msg00737.html)
makes the iotest break when run with -o data_file=$SOMETHING, without
this series applied beforehand.  (That is because without that series,
external data files are treated much like metadata children, so the
format driver always takes the WRITE permission if the file is writable;
but after that series, it only does so when it itself has a parent
requestion the WRITE permission.)


Max Reitz (4):
  block: Add bdrv_make_empty()
  block: Use bdrv_make_empty() where possible
  block: Add blk_make_empty()
  block: Use blk_make_empty() after commits

 include/block/block.h          |  1 +
 include/sysemu/block-backend.h |  2 ++
 block.c                        | 23 +++++++++++++++++++++++
 block/block-backend.c          |  5 +++++
 block/commit.c                 |  8 +++++++-
 block/replication.c            |  6 ++----
 block/vvfat.c                  |  4 +---
 qemu-img.c                     | 19 ++++++++++++++-----
 8 files changed, 55 insertions(+), 13 deletions(-)

-- 
2.25.4



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2020-04-29  8:09 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-28 13:26 [PATCH 0/4] block: Do not call BlockDriver.bdrv_make_empty() directly Max Reitz
2020-04-28 13:26 ` [PATCH 1/4] block: Add bdrv_make_empty() Max Reitz
2020-04-28 13:53   ` Eric Blake
2020-04-28 14:01     ` Kevin Wolf
2020-04-28 14:07       ` Eric Blake
2020-04-28 14:16         ` Kevin Wolf
2020-04-28 14:25           ` Eric Blake
2020-04-28 14:21   ` Kevin Wolf
2020-04-29  7:39     ` Max Reitz
2020-04-28 13:26 ` [PATCH 2/4] block: Use bdrv_make_empty() where possible Max Reitz
2020-04-28 13:54   ` Eric Blake
2020-04-28 15:03   ` Kevin Wolf
2020-04-28 13:26 ` [PATCH 3/4] block: Add blk_make_empty() Max Reitz
2020-04-28 13:55   ` Eric Blake
2020-04-28 14:28     ` Eric Blake
2020-04-28 14:47   ` Kevin Wolf
2020-04-29  7:39     ` Max Reitz
2020-04-28 13:26 ` [PATCH 4/4] block: Use blk_make_empty() after commits Max Reitz
2020-04-28 14:07   ` Eric Blake
2020-04-29  7:58     ` Max Reitz
2020-04-28 15:03   ` Kevin Wolf
2020-04-29  8:01     ` Max Reitz
2020-04-28 13:38 ` [PATCH 0/4] block: Do not call BlockDriver.bdrv_make_empty() directly no-reply
2020-04-28 13:43 ` no-reply
2020-04-28 13:57   ` Eric Blake
2020-04-28 13:48 ` no-reply
2020-04-28 13:49 ` Eric Blake
2020-04-28 14:05   ` Eric Blake
2020-04-28 14:53 ` no-reply
2020-04-28 14:57 ` no-reply
2020-04-28 15:02 ` no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.