From patchwork Tue Sep 8 09:31:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 1359636 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=ADZUgDk+; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bm0KY3PfZz9sSn for ; Tue, 8 Sep 2020 19:32:01 +1000 (AEST) Received: from localhost ([::1]:45564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFZyp-0003SM-AE for incoming@patchwork.ozlabs.org; Tue, 08 Sep 2020 05:31:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFZyM-0003Ql-9R for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:30 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:55841 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFZyJ-0001w0-O2 for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599557486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HJ79G03FlqlrUugYcwO7HWydjJ0d8ZaK+oD2oFYuAxc=; b=ADZUgDk+Xh5iJ2H0831wHFdRS/VJ8rOlZQMw2PXL3Od4tZHJAbBjVmODzwDZkNM5IQ0pub vvMtEMwruxcR6v8DaLmWiwAFxmMhvDWj6FpJY8BCGB+m2LIy3NZwDAXDrOzjnKQgHWqO6+ X/nu9HwQrHWPseGJXkEs/tlpIt6msKE= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-254-mJXQ4KYDMiqrqspIqJ7N2Q-1; Tue, 08 Sep 2020 05:31:24 -0400 X-MC-Unique: mJXQ4KYDMiqrqspIqJ7N2Q-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7B8D980734C; Tue, 8 Sep 2020 09:31:23 +0000 (UTC) Received: from localhost (ovpn-114-244.ams2.redhat.com [10.36.114.244]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4A84827C29; Tue, 8 Sep 2020 09:31:20 +0000 (UTC) From: Stefan Hajnoczi To: qemu-devel@nongnu.org Subject: [PATCH 1/4] docs: lift block-core.json rST header into parents Date: Tue, 8 Sep 2020 10:31:10 +0100 Message-Id: <20200908093113.47564-2-stefanha@redhat.com> In-Reply-To: <20200908093113.47564-1-stefanha@redhat.com> References: <20200908093113.47564-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com X-Mimecast-Spam-Score: 0.0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.120; envelope-from=stefanha@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 02:10:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , qemu-block@nongnu.org, Kashyap Chamarthy , afrosi@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Markus Armbruster , Laszlo Ersek , Stefan Hajnoczi Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" block-core.json is included from several places. It has no way of knowing what header level (h1, h2, ...) is appropriate. Sphinx reports errors when it encounters an h2 header where it expects an h1 header. This issue prevents the next patch from generating documentation for qemu-storage-daemon QMP commands. Move the header into parents so that the correct header level can be used. Note that transaction.json is not updated since it doesn't seem to need a header. Signed-off-by: Stefan Hajnoczi --- docs/interop/firmware.json | 4 ++++ qapi/block-core.json | 4 ---- qapi/block.json | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json index 989f10b626..48af327f98 100644 --- a/docs/interop/firmware.json +++ b/docs/interop/firmware.json @@ -15,6 +15,10 @@ ## { 'include' : 'machine.json' } + +## +# == Block devices +## { 'include' : 'block-core.json' } ## diff --git a/qapi/block-core.json b/qapi/block-core.json index 55b58ba892..e986341997 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1,10 +1,6 @@ # -*- Mode: Python -*- # vim: filetype=python -## -# == Block core (VM unrelated) -## - { 'include': 'common.json' } { 'include': 'crypto.json' } { 'include': 'job.json' } diff --git a/qapi/block.json b/qapi/block.json index c54a393cf3..473b294a3b 100644 --- a/qapi/block.json +++ b/qapi/block.json @@ -3,6 +3,7 @@ ## # = Block devices +# == Block core (VM unrelated) ## { 'include': 'block-core.json' } From patchwork Tue Sep 8 09:31:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 1359639 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=bRvNg56A; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bm0MR0pFdz9sSn for ; Tue, 8 Sep 2020 19:33:39 +1000 (AEST) Received: from localhost ([::1]:54168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFa0P-0006vd-0L for incoming@patchwork.ozlabs.org; Tue, 08 Sep 2020 05:33:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFZyT-0003an-Cz for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:37 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:21921 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFZyQ-0001wu-HN for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599557493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ESv+DcBmypfJUh4v6qfmkBeqJO22AIISs1JJWaC7Tdk=; b=bRvNg56AYBj54LARP9otcNunpR8VVeHJv0yQuzm2t6cc1p3VrQ7arLYhrao+9XpyS6ewcu DwemcgQznCb71IFOcqO368IBPHFh3/9AHEvXie3gPSft5fftBJ5we0S2+cLCOmqMwon+Qx Ux7W9+Vt0tl4HWMuX2mA0UwRbIi03QM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-479-niHDI6EQOp-B5xNCmQmdfQ-1; Tue, 08 Sep 2020 05:31:29 -0400 X-MC-Unique: niHDI6EQOp-B5xNCmQmdfQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 366201074642; Tue, 8 Sep 2020 09:31:28 +0000 (UTC) Received: from localhost (ovpn-114-244.ams2.redhat.com [10.36.114.244]) by smtp.corp.redhat.com (Postfix) with ESMTP id C5E517FB96; Tue, 8 Sep 2020 09:31:24 +0000 (UTC) From: Stefan Hajnoczi To: qemu-devel@nongnu.org Subject: [PATCH 2/4] docs: generate qemu-storage-daemon-qmp-ref(7) man page Date: Tue, 8 Sep 2020 10:31:11 +0100 Message-Id: <20200908093113.47564-3-stefanha@redhat.com> In-Reply-To: <20200908093113.47564-1-stefanha@redhat.com> References: <20200908093113.47564-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com X-Mimecast-Spam-Score: 0.0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=207.211.31.81; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 03:00:34 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , qemu-block@nongnu.org, Kashyap Chamarthy , afrosi@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Markus Armbruster , Laszlo Ersek , Stefan Hajnoczi Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Although qemu-storage-daemon QMP commands are identical to QEMU QMP commands they are a subset. Generate a manual page of just the commands supported by qemu-storage-daemon so that users know exactly what is available in qemu-storage-daemon. Signed-off-by: Stefan Hajnoczi --- docs/interop/qemu-storage-daemon-qmp-ref.texi | 80 +++++++++++++++++++ meson.build | 9 +++ storage-daemon/qapi/meson.build | 2 + 3 files changed, 91 insertions(+) create mode 100644 docs/interop/qemu-storage-daemon-qmp-ref.texi diff --git a/docs/interop/qemu-storage-daemon-qmp-ref.texi b/docs/interop/qemu-storage-daemon-qmp-ref.texi new file mode 100644 index 0000000000..a6a70c9674 --- /dev/null +++ b/docs/interop/qemu-storage-daemon-qmp-ref.texi @@ -0,0 +1,80 @@ +\input texinfo +@setfilename qemu-storage-daemon-qmp-ref.info + +@include version.texi + +@exampleindent 0 +@paragraphindent 0 + +@settitle QEMU Storage Daemon QMP Reference Manual + +@iftex +@center @image{docs/qemu_logo} +@end iftex + +@copying +This is the QEMU Storage Daemon QMP reference manual. + +Copyright @copyright{} 2020 The QEMU Project developers + +@quotation +This manual is free documentation: you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation, either version 2 of the +License, or (at your option) any later version. + +This manual is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this manual. If not, see http://www.gnu.org/licenses/. +@end quotation +@end copying + +@dircategory QEMU +@direntry +* QEMU-Storage-Daemon-QMP-Ref: (qemu-storage-daemon-qmp-ref). QEMU Storage Daemon QMP Reference Manual +@end direntry + +@titlepage +@title QEMU Storage Daemon QMP Reference Manual +@subtitle QEMU version @value{VERSION} +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@ifnottex +@node Top +@top QEMU Storage Daemon QMP reference +@end ifnottex + +@menu +* API Reference:: +* Commands and Events Index:: +* Data Types Index:: +@end menu + +@node API Reference +@chapter API Reference + +@c for texi2pod: +@c man begin DESCRIPTION + +@include storage-daemon/qapi/qapi-doc.texi + +@c man end + +@node Commands and Events Index +@unnumbered Commands and Events Index +@printindex fn + +@node Data Types Index +@unnumbered Data Types Index +@printindex tp + +@bye diff --git a/meson.build b/meson.build index 5aaa364730..0ff19ce699 100644 --- a/meson.build +++ b/meson.build @@ -1162,6 +1162,15 @@ if build_docs if 'CONFIG_GUEST_AGENT' in config_host texi += {'qemu-ga-ref': ['docs/interop/qemu-ga-ref.texi', qga_qapi_doc_texi, version_texi]} endif + if have_tools + texi += { + 'qemu-storage-daemon-qmp-ref': [ + 'docs/interop/qemu-storage-daemon-qmp-ref.texi', + qsd_qapi_doc_texi, + version_texi + ] + } + endif if makeinfo.found() cmd = [ diff --git a/storage-daemon/qapi/meson.build b/storage-daemon/qapi/meson.build index cea618bec0..7c48a388d4 100644 --- a/storage-daemon/qapi/meson.build +++ b/storage-daemon/qapi/meson.build @@ -4,4 +4,6 @@ qsd_qapi_files = custom_target('QAPI files for qemu-storage-daemon', command: [ qapi_gen, '-o', 'storage-daemon/qapi', '@INPUT@' ], depend_files: [ qapi_inputs, qapi_gen_depends ]) +qsd_qapi_doc_texi = qsd_qapi_files[-1] + qsd_ss.add(qsd_qapi_files.to_list()) From patchwork Tue Sep 8 09:31:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 1359641 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=GP6r+V/d; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bm0NV50T7z9sRK for ; Tue, 8 Sep 2020 19:34:34 +1000 (AEST) Received: from localhost ([::1]:58012 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFa1I-0008Sc-Lt for incoming@patchwork.ozlabs.org; Tue, 08 Sep 2020 05:34:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFZyW-0003g1-EX for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:47851) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFZyT-0001xA-3F for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599557495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=u7FNgdepMH72P87TrGLbP8aP3D2xBjMQJfOFMDpbZhY=; b=GP6r+V/dvFMqJg3THIinNyaqUEdtiTEFSpuys8s1zr4NMQhWhCfPT/600D4sHXof46z6Fh kVrLIS8TJETk1LlbmGnIxdTc7CT0IRzI9dpcvOXucPU3fs92HmqqhrzpJiLuMaX2mjsS6U bFA79/mFVqAMs3MPw9NV6lxgKonup8s= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-52-l_ucIbFFNQ60zuC3XDRiJg-1; Tue, 08 Sep 2020 05:31:34 -0400 X-MC-Unique: l_ucIbFFNQ60zuC3XDRiJg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3AF671074642; Tue, 8 Sep 2020 09:31:33 +0000 (UTC) Received: from localhost (ovpn-114-244.ams2.redhat.com [10.36.114.244]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9842B5C1BB; Tue, 8 Sep 2020 09:31:29 +0000 (UTC) From: Stefan Hajnoczi To: qemu-devel@nongnu.org Subject: [PATCH 3/4] docs: add qemu-storage-daemon(1) man page Date: Tue, 8 Sep 2020 10:31:12 +0100 Message-Id: <20200908093113.47564-4-stefanha@redhat.com> In-Reply-To: <20200908093113.47564-1-stefanha@redhat.com> References: <20200908093113.47564-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=63.128.21.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 02:11:34 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , qemu-block@nongnu.org, Kashyap Chamarthy , afrosi@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Markus Armbruster , Laszlo Ersek , Stefan Hajnoczi Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Document the qemu-storage-daemon tool. Most of the command-line options are identical to their QEMU counterparts. Perhaps Sphinx hxtool integration could be extended to extract documentation for individual command-line options so they can be shared. For now the qemu-storage-daemon simply refers to the qemu(1) man page where the command-line options are identical. Signed-off-by: Stefan Hajnoczi Reviewed-by: Kashyap Chamarthy --- docs/tools/conf.py | 2 + docs/tools/index.rst | 1 + docs/tools/qemu-storage-daemon.rst | 105 +++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 docs/tools/qemu-storage-daemon.rst diff --git a/docs/tools/conf.py b/docs/tools/conf.py index 9052d17d6d..c16290e716 100644 --- a/docs/tools/conf.py +++ b/docs/tools/conf.py @@ -20,6 +20,8 @@ html_theme_options['description'] = \ man_pages = [ ('qemu-img', 'qemu-img', u'QEMU disk image utility', ['Fabrice Bellard'], 1), + ('qemu-storage-daemon', 'qemu-storage-daemon', u'QEMU storage daemon', + [], 1), ('qemu-nbd', 'qemu-nbd', u'QEMU Disk Network Block Device Server', ['Anthony Liguori '], 8), ('qemu-trace-stap', 'qemu-trace-stap', u'QEMU SystemTap trace tool', diff --git a/docs/tools/index.rst b/docs/tools/index.rst index 232ce9f3e4..9b076adb62 100644 --- a/docs/tools/index.rst +++ b/docs/tools/index.rst @@ -11,6 +11,7 @@ Contents: :maxdepth: 2 qemu-img + qemu-storage-daemon qemu-nbd qemu-trace-stap virtfs-proxy-helper diff --git a/docs/tools/qemu-storage-daemon.rst b/docs/tools/qemu-storage-daemon.rst new file mode 100644 index 0000000000..729a5e7248 --- /dev/null +++ b/docs/tools/qemu-storage-daemon.rst @@ -0,0 +1,105 @@ +QEMU Storage Daemon +=================== + +Synopsis +-------- + +**qemu-storage-daemon** [options] + +Description +----------- + +qemu-storage-daemon provides disk image functionality from QEMU, qemu-img, and +qemu-nbd in a long-running process controlled via QMP commands without running +a virtual machine. It can export disk images over NBD, run block job +operations, and perform other disk-related operations. The daemon is controlled +via a QMP monitor socket and initial configuration from the command-line. + +The daemon offers the following subset of QEMU features: + +* Blockdev nodes +* Block jobs +* NBD server +* Character devices +* Crypto and secrets +* QMP + +Commands can be sent over a QEMU Monitor Protocol (QMP) connection. See the +:manpage:`qemu-storage-daemon-qmp-ref(7)` manual page for a description of the +commands. + +The daemon runs until it is stopped using the ``quit`` QMP command or +SIGINT/SIGHUP/SIGTERM. + +**Warning:** Never modify images in use by a running virtual machine or any +other process; this may destroy the image. Also, be aware that querying an +image that is being modified by another process may encounter inconsistent +state. + +Options +------- + +.. program:: qemu-storage-daemon + +Standard options: + +.. option:: -h, --help + + Display this help and exit + +.. option:: -V, --version + + Display version information and exit + +.. option:: -T, --trace [[enable=]PATTERN][,events=FILE][,file=FILE] + + .. include:: ../qemu-option-trace.rst.inc + +.. option:: --blockdev BLOCKDEVDEF + + is a blockdev node definition. See the :manpage:`qemu(1)` manual page for a + description of blockdev node properties and the + :manpage:`qemu-block-drivers(7)` manual page for a description of + driver-specific parameters. + +.. option:: --chardev CHARDEVDEF + + is a character device definition. See the :manpage:`qemu(1)` manual page for + a description of character device properties. A common character device + definition configures a UNIX domain socket:: + + --chardev socket,id=char1,path=/tmp/qmp.sock,server,nowait + +.. option:: --monitor MONITORDEF + + is a QMP monitor definition. See the :manpage:`qemu(1)` manual page for + a description of QMP monitor properties. A common QMP monitor definition + configures a monitor on character device ``char1``:: + + --monitor chardev=char1 + +.. option:: --nbd-server addr.type=inet,addr.host=,addr.port=[,tls-creds=][,tls-authz=] + --nbd-server addr.type=unix,addr.path=[,tls-creds=][,tls-authz=] + + is a NBD server definition. Both TCP and UNIX domain sockets are supported. + TLS encryption can be configured using ``--object`` tls-creds-* and authz-* + secrets (see below). + + To configure an NBD server on UNIX domain socket path ``/tmp/nbd.sock``:: + + --nbd-server addr.type=unix,addr.path=/tmp/nbd.sock + +.. option:: --object help + --object ,help + --object [,=...] + + is a QEMU user creatable object definition. List object types with ``help``. + List object properties with ``,help``. See the :manpage:`qemu(1)` + manual page for a description of the object properties. The most common + object type is a ``secret``, which is used to supply passwords and/or + encryption keys. + +See also +-------- + +:manpage:`qemu(1)`, :manpage:`qemu-block-drivers(7)`, :manpage:`qemu-storage-daemon-qmp-ref(7)` From patchwork Tue Sep 8 09:31:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 1359637 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=AnXQMupp; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bm0Ks5vnDz9sSJ for ; Tue, 8 Sep 2020 19:32:17 +1000 (AEST) Received: from localhost ([::1]:46324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFZz5-0003mY-Ic for incoming@patchwork.ozlabs.org; Tue, 08 Sep 2020 05:32:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47702) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFZyZ-0003iD-Dw for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:43 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:46230 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFZyX-0001xf-0j for qemu-devel@nongnu.org; Tue, 08 Sep 2020 05:31:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599557500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nGzFvv64GGv36ZQ7V8JsP4/st5lr9pvpe/gZwbA729g=; b=AnXQMuppIoR1YbONK3BxEU/8Fu9V66HirkGCNv1k0tnJwRGWiKjR9y8dbBjEoNhaKqzgOn U5zTqQYQN0yRExID8ygAAgF/mQdbRshzOzT9G4jCZe73Gsu7AebyikUHdr0aGPps0YpRdx NCTcoFtddATYS9OG13kCfPZv4tNWd3o= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-78--vVm_1kJPF6KX1a6MjFDLg-1; Tue, 08 Sep 2020 05:31:36 -0400 X-MC-Unique: -vVm_1kJPF6KX1a6MjFDLg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5DA7051B9; Tue, 8 Sep 2020 09:31:35 +0000 (UTC) Received: from localhost (ovpn-114-244.ams2.redhat.com [10.36.114.244]) by smtp.corp.redhat.com (Postfix) with ESMTP id E7B8B27CB7; Tue, 8 Sep 2020 09:31:34 +0000 (UTC) From: Stefan Hajnoczi To: qemu-devel@nongnu.org Subject: [PATCH 4/4] MAINTAINERS: add Kevin Wolf as storage daemon maintainer Date: Tue, 8 Sep 2020 10:31:13 +0100 Message-Id: <20200908093113.47564-5-stefanha@redhat.com> In-Reply-To: <20200908093113.47564-1-stefanha@redhat.com> References: <20200908093113.47564-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com X-Mimecast-Spam-Score: 0.0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=205.139.110.120; envelope-from=stefanha@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 02:10:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , qemu-block@nongnu.org, Kashyap Chamarthy , afrosi@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Markus Armbruster , Laszlo Ersek , Stefan Hajnoczi Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The MAINTAINERS file was not updated when the storage daemon was merged. Signed-off-by: Stefan Hajnoczi --- MAINTAINERS | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b233da2a73..3e8bfde1e3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2099,6 +2099,15 @@ F: qobject/block-qdict.c F: tests/check-block-qdict.c T: git https://repo.or.cz/qemu/kevin.git block +Storage daemon +M: Kevin Wolf +L: qemu-block@nongnu.org +S: Supported +F: storage-daemon/ +F: docs/interop/qemu-storage-daemon-qmp-ref.texi +F: docs/tools/qemu-storage-daemon.rst +T: git https://repo.or.cz/qemu/kevin.git block + Block I/O path M: Stefan Hajnoczi M: Fam Zheng