[{"id":1769894,"web_url":"http://patchwork.ozlabs.org/comment/1769894/","msgid":"<20170918064613.GG15551@lemon.lan>","list_archive_url":null,"date":"2017-09-18T06:46:13","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":24872,"url":"http://patchwork.ozlabs.org/api/people/24872/","name":"Fam Zheng","email":"famz@redhat.com"},"content":"On Wed, 09/13 20:19, Max Reitz wrote:\n> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n> will not wait for the result of the operation and instead execute it in\n> the background.\n\nCannot aio_write be used for this purpose?\n\nFam","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=famz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwc501qJ2z9s7G\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 18 Sep 2017 16:47:32 +1000 (AEST)","from localhost ([::1]:34954 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dtpq6-0004c3-DV\n\tfor incoming@patchwork.ozlabs.org; Mon, 18 Sep 2017 02:47:30 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:47988)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1dtpp3-00049Q-Sp\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 02:46:26 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1dtpp3-0003vp-5f\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 02:46:25 -0400","from mx1.redhat.com ([209.132.183.28]:47578)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <famz@redhat.com>)\n\tid 1dtpp1-0003uv-7c; Mon, 18 Sep 2017 02:46:23 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 3D89C4E049;\n\tMon, 18 Sep 2017 06:46:22 +0000 (UTC)","from localhost (ovpn-12-141.pek2.redhat.com [10.72.12.141])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 906AB18ED1;\n\tMon, 18 Sep 2017 06:46:15 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 3D89C4E049","Date":"Mon, 18 Sep 2017 14:46:13 +0800","From":"Fam Zheng <famz@redhat.com>","To":"Max Reitz <mreitz@redhat.com>","Message-ID":"<20170918064613.GG15551@lemon.lan>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170913181910.29688-18-mreitz@redhat.com>","User-Agent":"Mutt/1.8.3 (2017-05-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tMon, 18 Sep 2017 06:46:22 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1770373,"web_url":"http://patchwork.ozlabs.org/comment/1770373/","msgid":"<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>","list_archive_url":null,"date":"2017-09-18T17:53:06","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":36836,"url":"http://patchwork.ozlabs.org/api/people/36836/","name":"Max Reitz","email":"mreitz@redhat.com"},"content":"On 2017-09-18 08:46, Fam Zheng wrote:\n> On Wed, 09/13 20:19, Max Reitz wrote:\n>> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n>> will not wait for the result of the operation and instead execute it in\n>> the background.\n> \n> Cannot aio_write be used for this purpose?\n\nDepends.  I have been trained to dislike *_aio_*, so that's probably the\ninitial reason why I didn't use it.\n\nSecond, I'd have to fix aio_write before it can be used.  Currently,\nthis aborts:\n\necho 'qemu-io drv0 \"aio_write -P 0x11 0 64M\"' \\\n    | x86_64-softmmu/qemu-system-x86_64 -monitor stdio \\\n          -blockdev node-name=drv0,driver=null-co\n\nbecause aio_write_done thinks it's a good idea to use qemu-io's\nBlockBackend -- but when qemu-io is executed through the HMP, the\nBlockBackend is only created for the duration of the qemu-io command\n(unless there already is a BB).  So what I'd have to do is add a\nblk_ref()/blk_unref() there, but for some reason I really don't like that.\n\nSo I'd probably have to give up on using -blockdev in the new iotest and\nwould have to use -drive again.\n(Note: With if=none, it still aborts while doing the block accounting,\nand I have looked long enough into it to just decide I'd go with\nif=virtio instead.)\n\nSo, yes, it appears I can use aio_write, together with -drive if=virtio\ninstead of -blockdev.\n\nThe remaining difference is the following: With aio_write, all writes\ncome from the same BlockBackend, and they are really asynchronous.\nThat's nice because it's like a guest behaves.\n\nWith write -B, they come from different BBs and the BB is usually\nalready gone when the write is completed -- or maybe destroying the BB\nmeans that everything is flushed and thus the writes are not necessarily\nasynchronous.  That doesn't seem so nice, but this behavior made me\nwrite patch 13, so maybe it actually is a good idea to test this.\n\nSo I'm a bit torn.  On one hand it seems to be a good idea to use\naio_write because that's already there and it's good enough to simulate\na guest.  But on the other hand, write -B gives a bit more funny\nbehavior which in my opinion is always good for a test...\n\nMax","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx06.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx06.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=mreitz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwtst68Jkz9s06\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 03:53:53 +1000 (AEST)","from localhost ([::1]:38075 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1du0Ex-0005yd-3B\n\tfor incoming@patchwork.ozlabs.org; Mon, 18 Sep 2017 13:53:51 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:50155)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1du0EY-0005x6-Nx\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 13:53:27 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1du0EW-0007hf-HC\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 13:53:26 -0400","from mx1.redhat.com ([209.132.183.28]:26532)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <mreitz@redhat.com>)\n\tid 1du0ER-0007eR-8Z; Mon, 18 Sep 2017 13:53:19 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id BAE0E285A8;\n\tMon, 18 Sep 2017 17:53:17 +0000 (UTC)","from dresden.str.redhat.com (unknown [10.40.205.73])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id E2DD95D6A8;\n\tMon, 18 Sep 2017 17:53:08 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com BAE0E285A8","To":"Fam Zheng <famz@redhat.com>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>\n\t<20170918064613.GG15551@lemon.lan>","From":"Max Reitz <mreitz@redhat.com>","Message-ID":"<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>","Date":"Mon, 18 Sep 2017 19:53:06 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170918064613.GG15551@lemon.lan>","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"wWMLUEKf2aFSjjf26TuTIJvGb24A3g4sv\"","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.30]);\n\tMon, 18 Sep 2017 17:53:18 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","X-Content-Filtered-By":"Mailman/MimeDel 2.1.21","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1770729,"web_url":"http://patchwork.ozlabs.org/comment/1770729/","msgid":"<20170919080311.GC11534@lemon.lan>","list_archive_url":null,"date":"2017-09-19T08:03:11","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":24872,"url":"http://patchwork.ozlabs.org/api/people/24872/","name":"Fam Zheng","email":"famz@redhat.com"},"content":"On Mon, 09/18 19:53, Max Reitz wrote:\n> On 2017-09-18 08:46, Fam Zheng wrote:\n> > On Wed, 09/13 20:19, Max Reitz wrote:\n> >> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n> >> will not wait for the result of the operation and instead execute it in\n> >> the background.\n> > \n> > Cannot aio_write be used for this purpose?\n> \n> Depends.  I have been trained to dislike *_aio_*, so that's probably the\n> initial reason why I didn't use it.\n> \n> Second, I'd have to fix aio_write before it can be used.  Currently,\n> this aborts:\n> \n> echo 'qemu-io drv0 \"aio_write -P 0x11 0 64M\"' \\\n>     | x86_64-softmmu/qemu-system-x86_64 -monitor stdio \\\n>           -blockdev node-name=drv0,driver=null-co\n> \n> because aio_write_done thinks it's a good idea to use qemu-io's\n> BlockBackend -- but when qemu-io is executed through the HMP, the\n> BlockBackend is only created for the duration of the qemu-io command\n> (unless there already is a BB).  So what I'd have to do is add a\n> blk_ref()/blk_unref() there, but for some reason I really don't like that.\n\nWhat is the reason? If it crashes it should be fixed anyway, I assume?\n\nFam","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=famz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xxFmY5gnhz9ryT\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 18:05:33 +1000 (AEST)","from localhost ([::1]:40682 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1duDX9-00053a-SB\n\tfor incoming@patchwork.ozlabs.org; Tue, 19 Sep 2017 04:05:31 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:55575)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1duDVA-0003zs-O7\n\tfor qemu-devel@nongnu.org; Tue, 19 Sep 2017 04:03:32 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1duDV6-0001bS-T6\n\tfor qemu-devel@nongnu.org; Tue, 19 Sep 2017 04:03:28 -0400","from mx1.redhat.com ([209.132.183.28]:34020)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <famz@redhat.com>)\n\tid 1duDV1-0001WX-90; Tue, 19 Sep 2017 04:03:19 -0400","from smtp.corp.redhat.com\n\t(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 44E23C003401;\n\tTue, 19 Sep 2017 08:03:18 +0000 (UTC)","from localhost (ovpn-12-162.pek2.redhat.com [10.72.12.162])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 95BFF61342;\n\tTue, 19 Sep 2017 08:03:13 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 44E23C003401","Date":"Tue, 19 Sep 2017 16:03:11 +0800","From":"Fam Zheng <famz@redhat.com>","To":"Max Reitz <mreitz@redhat.com>","Message-ID":"<20170919080311.GC11534@lemon.lan>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>\n\t<20170918064613.GG15551@lemon.lan>\n\t<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>","User-Agent":"Mutt/1.8.3 (2017-05-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.11","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tTue, 19 Sep 2017 08:03:18 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1772877,"web_url":"http://patchwork.ozlabs.org/comment/1772877/","msgid":"<7a0de5bd-5e1e-856b-e2f3-29b1baad7cf2@redhat.com>","list_archive_url":null,"date":"2017-09-21T14:40:19","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":36836,"url":"http://patchwork.ozlabs.org/api/people/36836/","name":"Max Reitz","email":"mreitz@redhat.com"},"content":"On 2017-09-19 10:03, Fam Zheng wrote:\n> On Mon, 09/18 19:53, Max Reitz wrote:\n>> On 2017-09-18 08:46, Fam Zheng wrote:\n>>> On Wed, 09/13 20:19, Max Reitz wrote:\n>>>> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n>>>> will not wait for the result of the operation and instead execute it in\n>>>> the background.\n>>>\n>>> Cannot aio_write be used for this purpose?\n>>\n>> Depends.  I have been trained to dislike *_aio_*, so that's probably the\n>> initial reason why I didn't use it.\n>>\n>> Second, I'd have to fix aio_write before it can be used.  Currently,\n>> this aborts:\n>>\n>> echo 'qemu-io drv0 \"aio_write -P 0x11 0 64M\"' \\\n>>     | x86_64-softmmu/qemu-system-x86_64 -monitor stdio \\\n>>           -blockdev node-name=drv0,driver=null-co\n>>\n>> because aio_write_done thinks it's a good idea to use qemu-io's\n>> BlockBackend -- but when qemu-io is executed through the HMP, the\n>> BlockBackend is only created for the duration of the qemu-io command\n>> (unless there already is a BB).  So what I'd have to do is add a\n>> blk_ref()/blk_unref() there, but for some reason I really don't like that.\n> \n> What is the reason? If it crashes it should be fixed anyway, I assume?\n\nBecause the AIO CB (aio_write_done()) continues to use qemu-io's BB --\nbut in case of HMP's qemu-io, that is pretty much already gone once the\ncommand is done.\n\nThat could be fixed, as I said, by blk_ref()ing the BB before aio_write\nreturns (and then blk_unref()ing it in aio_write_done()).  However, I'm\nnot even sure whether aio_write_done() is always executed in the main\nthread...\n\nOther than that, I just have a bad feeling about adding the pair, not\nsure why.  Probably because it means having to carry a temporary BB\naround until the command is done, which is weird.  Well, it's not an\nissue permission-wise, because the qemu-io BB simply doesn't take the\nproper permissions (no, I'm not going to question the fact how it's then\npossible to even write to it, considering we have assertions that check\nwhether the correct permissions have been taken...), and I can't think\nof another way.\n\nIn any case, you're right, it probably needs to be fixed anyway -- even\nif the fix is just not allowing aio_write with a temporary BB (i.e. from\nHMP).\n\nMax","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=mreitz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyfTm5fqJz9t3w\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 00:42:36 +1000 (AEST)","from localhost ([::1]:54041 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dv2gU-0008Sz-Sc\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 10:42:34 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:51393)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1dv2eg-0007eh-HQ\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 10:40:47 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1dv2ef-00087p-Fd\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 10:40:42 -0400","from mx1.redhat.com ([209.132.183.28]:53168)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <mreitz@redhat.com>)\n\tid 1dv2eY-00081L-Ms; Thu, 21 Sep 2017 10:40:34 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id ED1748BD21;\n\tThu, 21 Sep 2017 14:40:31 +0000 (UTC)","from dresden.str.redhat.com (ovpn-204-199.brq.redhat.com\n\t[10.40.204.199])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id D32595C544;\n\tThu, 21 Sep 2017 14:40:21 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com ED1748BD21","To":"Fam Zheng <famz@redhat.com>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>\n\t<20170918064613.GG15551@lemon.lan>\n\t<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>\n\t<20170919080311.GC11534@lemon.lan>","From":"Max Reitz <mreitz@redhat.com>","Message-ID":"<7a0de5bd-5e1e-856b-e2f3-29b1baad7cf2@redhat.com>","Date":"Thu, 21 Sep 2017 16:40:19 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170919080311.GC11534@lemon.lan>","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"nQIcwr9Gkua0KaJ1aL3KLjxaWD4tfb0GR\"","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.28]);\n\tThu, 21 Sep 2017 14:40:32 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","X-Content-Filtered-By":"Mailman/MimeDel 2.1.21","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1772895,"web_url":"http://patchwork.ozlabs.org/comment/1772895/","msgid":"<20170921145943.GA28064@lemon.lan>","list_archive_url":null,"date":"2017-09-21T14:59:43","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":24872,"url":"http://patchwork.ozlabs.org/api/people/24872/","name":"Fam Zheng","email":"famz@redhat.com"},"content":"On Thu, 09/21 16:40, Max Reitz wrote:\n> On 2017-09-19 10:03, Fam Zheng wrote:\n> > On Mon, 09/18 19:53, Max Reitz wrote:\n> >> On 2017-09-18 08:46, Fam Zheng wrote:\n> >>> On Wed, 09/13 20:19, Max Reitz wrote:\n> >>>> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n> >>>> will not wait for the result of the operation and instead execute it in\n> >>>> the background.\n> >>>\n> >>> Cannot aio_write be used for this purpose?\n> >>\n> >> Depends.  I have been trained to dislike *_aio_*, so that's probably the\n> >> initial reason why I didn't use it.\n> >>\n> >> Second, I'd have to fix aio_write before it can be used.  Currently,\n> >> this aborts:\n> >>\n> >> echo 'qemu-io drv0 \"aio_write -P 0x11 0 64M\"' \\\n> >>     | x86_64-softmmu/qemu-system-x86_64 -monitor stdio \\\n> >>           -blockdev node-name=drv0,driver=null-co\n> >>\n> >> because aio_write_done thinks it's a good idea to use qemu-io's\n> >> BlockBackend -- but when qemu-io is executed through the HMP, the\n> >> BlockBackend is only created for the duration of the qemu-io command\n> >> (unless there already is a BB).  So what I'd have to do is add a\n> >> blk_ref()/blk_unref() there, but for some reason I really don't like that.\n> > \n> > What is the reason? If it crashes it should be fixed anyway, I assume?\n> \n> Because the AIO CB (aio_write_done()) continues to use qemu-io's BB --\n> but in case of HMP's qemu-io, that is pretty much already gone once the\n> command is done.\n\nI can see aio_{read,write}_done accesses BB for accounting, we can probably skip\nthis part altogether if issued from HMP (because the BB is gone). This way you\ndon't need the blk_ref/unref pair.\n\nFam\n\n> \n> That could be fixed, as I said, by blk_ref()ing the BB before aio_write\n> returns (and then blk_unref()ing it in aio_write_done()).  However, I'm\n> not even sure whether aio_write_done() is always executed in the main\n> thread...\n> \n> Other than that, I just have a bad feeling about adding the pair, not\n> sure why.  Probably because it means having to carry a temporary BB\n> around until the command is done, which is weird.  Well, it's not an\n> issue permission-wise, because the qemu-io BB simply doesn't take the\n> proper permissions (no, I'm not going to question the fact how it's then\n> possible to even write to it, considering we have assertions that check\n> whether the correct permissions have been taken...), and I can't think\n> of another way.\n> \n> In any case, you're right, it probably needs to be fixed anyway -- even\n> if the fix is just not allowing aio_write with a temporary BB (i.e. from\n> HMP).\n> \n> Max\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=famz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyftY39ZNz9t3v\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 01:00:36 +1000 (AEST)","from localhost ([::1]:54091 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dv2xp-0005aH-Kt\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 11:00:29 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:56439)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1dv2xK-0005XH-2n\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 11:00:02 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <famz@redhat.com>) id 1dv2xJ-0005n8-4I\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 10:59:58 -0400","from mx1.redhat.com ([209.132.183.28]:55622)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <famz@redhat.com>)\n\tid 1dv2xD-0005ez-Jf; Thu, 21 Sep 2017 10:59:51 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 66CF081E01;\n\tThu, 21 Sep 2017 14:59:50 +0000 (UTC)","from localhost (ovpn-12-27.pek2.redhat.com [10.72.12.27])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 2C48B5E1A5;\n\tThu, 21 Sep 2017 14:59:44 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 66CF081E01","Date":"Thu, 21 Sep 2017 22:59:43 +0800","From":"Fam Zheng <famz@redhat.com>","To":"Max Reitz <mreitz@redhat.com>","Message-ID":"<20170921145943.GA28064@lemon.lan>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>\n\t<20170918064613.GG15551@lemon.lan>\n\t<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>\n\t<20170919080311.GC11534@lemon.lan>\n\t<7a0de5bd-5e1e-856b-e2f3-29b1baad7cf2@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<7a0de5bd-5e1e-856b-e2f3-29b1baad7cf2@redhat.com>","User-Agent":"Mutt/1.8.3 (2017-05-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.25]);\n\tThu, 21 Sep 2017 14:59:50 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1772902,"web_url":"http://patchwork.ozlabs.org/comment/1772902/","msgid":"<97e33f16-7c23-de70-47a9-e4b6f86aa72f@redhat.com>","list_archive_url":null,"date":"2017-09-21T15:03:13","subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","submitter":{"id":36836,"url":"http://patchwork.ozlabs.org/api/people/36836/","name":"Max Reitz","email":"mreitz@redhat.com"},"content":"On 2017-09-21 16:59, Fam Zheng wrote:\n> On Thu, 09/21 16:40, Max Reitz wrote:\n>> On 2017-09-19 10:03, Fam Zheng wrote:\n>>> On Mon, 09/18 19:53, Max Reitz wrote:\n>>>> On 2017-09-18 08:46, Fam Zheng wrote:\n>>>>> On Wed, 09/13 20:19, Max Reitz wrote:\n>>>>>> Add a new parameter -B to qemu-io's write command.  When used, qemu-io\n>>>>>> will not wait for the result of the operation and instead execute it in\n>>>>>> the background.\n>>>>>\n>>>>> Cannot aio_write be used for this purpose?\n>>>>\n>>>> Depends.  I have been trained to dislike *_aio_*, so that's probably the\n>>>> initial reason why I didn't use it.\n>>>>\n>>>> Second, I'd have to fix aio_write before it can be used.  Currently,\n>>>> this aborts:\n>>>>\n>>>> echo 'qemu-io drv0 \"aio_write -P 0x11 0 64M\"' \\\n>>>>     | x86_64-softmmu/qemu-system-x86_64 -monitor stdio \\\n>>>>           -blockdev node-name=drv0,driver=null-co\n>>>>\n>>>> because aio_write_done thinks it's a good idea to use qemu-io's\n>>>> BlockBackend -- but when qemu-io is executed through the HMP, the\n>>>> BlockBackend is only created for the duration of the qemu-io command\n>>>> (unless there already is a BB).  So what I'd have to do is add a\n>>>> blk_ref()/blk_unref() there, but for some reason I really don't like that.\n>>>\n>>> What is the reason? If it crashes it should be fixed anyway, I assume?\n>>\n>> Because the AIO CB (aio_write_done()) continues to use qemu-io's BB --\n>> but in case of HMP's qemu-io, that is pretty much already gone once the\n>> command is done.\n> \n> I can see aio_{read,write}_done accesses BB for accounting, we can probably skip\n> this part altogether if issued from HMP (because the BB is gone). This way you\n> don't need the blk_ref/unref pair.\n\nYep, and then it'd be functionally the same as this write -B, so that\nsounds good.\n\nWell, I fear that someone will have to rewrite it with coroutines\nsomewhere in the future anyway, but, er, well, not a problem for now!!1! :-)\n\nMax","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx10.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx10.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=mreitz@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyfyW3X9Bz9t3w\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 01:04:03 +1000 (AEST)","from localhost ([::1]:54104 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dv31F-0006cD-Lp\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 11:04:01 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:57272)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1dv30s-0006bC-R6\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 11:03:42 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <mreitz@redhat.com>) id 1dv30o-0008Ru-Tk\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 11:03:38 -0400","from mx1.redhat.com ([209.132.183.28]:41260)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <mreitz@redhat.com>)\n\tid 1dv30f-0008Ku-Hv; Thu, 21 Sep 2017 11:03:25 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 6D93F6524;\n\tThu, 21 Sep 2017 15:03:24 +0000 (UTC)","from dresden.str.redhat.com (ovpn-204-199.brq.redhat.com\n\t[10.40.204.199])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id D425F61F21;\n\tThu, 21 Sep 2017 15:03:15 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 6D93F6524","To":"Fam Zheng <famz@redhat.com>","References":"<20170913181910.29688-1-mreitz@redhat.com>\n\t<20170913181910.29688-18-mreitz@redhat.com>\n\t<20170918064613.GG15551@lemon.lan>\n\t<87b2b2f4-ecc0-3436-a5af-6d2c9d858b8f@redhat.com>\n\t<20170919080311.GC11534@lemon.lan>\n\t<7a0de5bd-5e1e-856b-e2f3-29b1baad7cf2@redhat.com>\n\t<20170921145943.GA28064@lemon.lan>","From":"Max Reitz <mreitz@redhat.com>","Message-ID":"<97e33f16-7c23-de70-47a9-e4b6f86aa72f@redhat.com>","Date":"Thu, 21 Sep 2017 17:03:13 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170921145943.GA28064@lemon.lan>","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"LWrKcp3LM7JU44I2JFdbHqe615juuKoDF\"","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.39]);\n\tThu, 21 Sep 2017 15:03:24 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","X-Content-Filtered-By":"Mailman/MimeDel 2.1.21","Subject":"Re: [Qemu-devel] [PATCH 17/18] qemu-io: Add background write","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]