[PATCH] block: Remove monitor command block_passwd

Markus Armbruster posted 1 patch 3 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210323101951.3686029-1-armbru@redhat.com
qapi/block-core.json           | 14 --------------
qapi/pragma.json               |  1 -
block/monitor/block-hmp-cmds.c | 10 ----------
blockdev.c                     |  8 --------
hmp-commands.hx                | 15 ---------------
5 files changed, 48 deletions(-)
[PATCH] block: Remove monitor command block_passwd
Posted by Markus Armbruster 3 years ago
Command block_passwd always fails since

Commit c01c214b69 "block: remove all encryption handling APIs"
(v2.10.0) turned block_passwd into a stub that always fails, and
hardcoded encryption_key_missing to false in query-named-block-nodes
and query-block.

Commit ad1324e044 "block: remove 'encryption_key_missing' flag from
QAPI" just landed.  Complete the cleanup job: remove block_passwd.

Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
This is based on my "[PATCH 00/28] qapi: Enforce naming rules".  To
apply directly, simply drop the qapi/pragma.json hunk.

Based-on: <20210323094025.3569441-1-armbru@redhat.com>


 qapi/block-core.json           | 14 --------------
 qapi/pragma.json               |  1 -
 block/monitor/block-hmp-cmds.c | 10 ----------
 blockdev.c                     |  8 --------
 hmp-commands.hx                | 15 ---------------
 5 files changed, 48 deletions(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index 1c3f1deb03..6d227924d0 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -1207,20 +1207,6 @@
 ##
 { 'command': 'query-block-jobs', 'returns': ['BlockJobInfo'] }
 
-##
-# @block_passwd:
-#
-# This command sets the password of a block device that has not been open
-# with a password and requires one.
-#
-# This command is now obsolete and will always return an error since 2.10
-#
-##
-{ 'command': 'block_passwd',
-  'data': { '*device': 'str',
-            '*node-name': 'str',
-            'password': 'str' } }
-
 ##
 # @block_resize:
 #
diff --git a/qapi/pragma.json b/qapi/pragma.json
index b4e17167e1..3bc0335d1f 100644
--- a/qapi/pragma.json
+++ b/qapi/pragma.json
@@ -6,7 +6,6 @@
     # Commands allowed to return a non-dictionary:
     'command-name-exceptions': [
         'add_client',
-        'block_passwd',
         'block_resize',
         'block_set_io_throttle',
         'client_migrate_info',
diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
index 75d7fa9510..ebf1033f31 100644
--- a/block/monitor/block-hmp-cmds.c
+++ b/block/monitor/block-hmp-cmds.c
@@ -515,16 +515,6 @@ void hmp_block_stream(Monitor *mon, const QDict *qdict)
     hmp_handle_error(mon, error);
 }
 
-void hmp_block_passwd(Monitor *mon, const QDict *qdict)
-{
-    const char *device = qdict_get_str(qdict, "device");
-    const char *password = qdict_get_str(qdict, "password");
-    Error *err = NULL;
-
-    qmp_block_passwd(true, device, false, NULL, password, &err);
-    hmp_handle_error(mon, err);
-}
-
 void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
 {
     Error *err = NULL;
diff --git a/blockdev.c b/blockdev.c
index cf70bb4e43..621cc3b7c4 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2407,14 +2407,6 @@ exit:
     job_txn_unref(block_job_txn);
 }
 
-void qmp_block_passwd(bool has_device, const char *device,
-                      bool has_node_name, const char *node_name,
-                      const char *password, Error **errp)
-{
-    error_setg(errp,
-               "Setting block passwords directly is no longer supported");
-}
-
 BlockDirtyBitmapSha256 *qmp_x_debug_block_dirty_bitmap_sha256(const char *node,
                                                               const char *name,
                                                               Error **errp)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 9b88c45174..435c591a1c 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1493,21 +1493,6 @@ SRST
   used by another monitor command.
 ERST
 
-    {
-        .name       = "block_passwd",
-        .args_type  = "device:B,password:s",
-        .params     = "block_passwd device password",
-        .help       = "set the password of encrypted block devices",
-        .cmd        = hmp_block_passwd,
-    },
-
-SRST
-``block_passwd`` *device* *password*
-  Set the encrypted device *device* password to *password*
-
-  This command is now obsolete and will always return an error since 2.10
-ERST
-
     {
         .name       = "block_set_io_throttle",
         .args_type  = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l",
-- 
2.26.3


Re: [PATCH] block: Remove monitor command block_passwd
Posted by Daniel P. Berrangé 3 years ago
On Tue, Mar 23, 2021 at 11:19:51AM +0100, Markus Armbruster wrote:
> Command block_passwd always fails since
> 
> Commit c01c214b69 "block: remove all encryption handling APIs"
> (v2.10.0) turned block_passwd into a stub that always fails, and
> hardcoded encryption_key_missing to false in query-named-block-nodes
> and query-block.
> 
> Commit ad1324e044 "block: remove 'encryption_key_missing' flag from
> QAPI" just landed.  Complete the cleanup job: remove block_passwd.

Oh, we never marked block_passwd as deprecated, so I missed this
cleanup.

None the less we're fine removing it, since anyone who has tried
to use it since 2.10 will have found it useless, and have been
unable to start their VMs with encrypted disks. 

> 
> Cc: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> This is based on my "[PATCH 00/28] qapi: Enforce naming rules".  To
> apply directly, simply drop the qapi/pragma.json hunk.
> 
> Based-on: <20210323094025.3569441-1-armbru@redhat.com>
> 
> 
>  qapi/block-core.json           | 14 --------------
>  qapi/pragma.json               |  1 -
>  block/monitor/block-hmp-cmds.c | 10 ----------
>  blockdev.c                     |  8 --------
>  hmp-commands.hx                | 15 ---------------
>  5 files changed, 48 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|