|
| From: | Hanna Reitz |
| Subject: | Re: [PATCH v5 02/45] block: introduce bdrv_open_file_child() helper |
| Date: | Tue, 7 Jun 2022 11:57:06 +0200 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 |
On 30.03.22 23:28, Vladimir Sementsov-Ogievskiy wrote:
Almost all drivers call bdrv_open_child() similarly. Let's create a helper for this. The only not updated driver that call bdrv_open_child() to set bs->file is raw-format, as it sometimes want to have filtered child but don't set drv->is_filter to true.
Also snapshot-access, which uses DATA | PRIMARY.
Possibly we should implement drv->is_filter_func() handler, to consider raw-format as filter when it works as filter.. But it's another story. Note also, that we decrease assignments to bs->file in code: it helps us restrict modifying this field in further commit. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org> ---
[...]
diff --git a/block/filter-compress.c b/block/filter-compress.c
index d5be538619..b2cfa9a9a5 100644
--- a/block/filter-compress.c
+++ b/block/filter-compress.c
@@ -30,10 +30,8 @@
static int compress_open(BlockDriverState *bs, QDict *options, int flags,
Error **errp)
{
- bs->file = bdrv_open_child(NULL, options, "file", bs, &child_of_bds,
- BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
- false, errp);
- if (!bs->file) {
+ int ret = bdrv_open_file_child(NULL, options, "file", bs, errp);
+ if (ret < 0) {
return -EINVAL;
Should probably be `return ret;` like elsewhere. With that done: Reviewed-by: Hanna Reitz <hreitz@redhat.com>
| [Prev in Thread] | Current Thread | [Next in Thread] |