Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2197751/?format=api
{ "id": 2197751, "url": "http://patchwork.ozlabs.org/api/patches/2197751/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260218132633.29748-9-hreitz@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260218132633.29748-9-hreitz@redhat.com>", "list_archive_url": null, "date": "2026-02-18T13:26:17", "name": "[v4,08/24] fuse: Set direct_io and parallel_direct_writes", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "039027e49ae63a1592556161df887f4d9da252eb", "submitter": { "id": 82279, "url": "http://patchwork.ozlabs.org/api/people/82279/?format=api", "name": "Hanna Czenczek", "email": "hreitz@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260218132633.29748-9-hreitz@redhat.com/mbox/", "series": [ { "id": 492547, "url": "http://patchwork.ozlabs.org/api/series/492547/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=492547", "date": "2026-02-18T13:26:09", "name": "export/fuse: Use coroutines and multi-threading", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/492547/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2197751/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2197751/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=iFCc3302;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=kfA7iLv8;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGHYz4MCQz1xvq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 00:35:03 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vshfD-0003tV-Lq; Wed, 18 Feb 2026 08:32:23 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <hreitz@redhat.com>) id 1vshfB-0003pb-5R\n for qemu-devel@nongnu.org; Wed, 18 Feb 2026 08:32:21 -0500", "from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <hreitz@redhat.com>) id 1vshf2-0005Hh-09\n for qemu-devel@nongnu.org; Wed, 18 Feb 2026 08:32:16 -0500", "from mail-wr1-f70.google.com (mail-wr1-f70.google.com\n [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-455-hdgelCW0PjO0dimMrVNx9A-1; Wed, 18 Feb 2026 08:27:05 -0500", "by mail-wr1-f70.google.com with SMTP id\n ffacd0b85a97d-435991d4a3aso3508161f8f.1\n for <qemu-devel@nongnu.org>; Wed, 18 Feb 2026 05:27:05 -0800 (PST)", "from localhost\n (p200300cfd737d029edef7b8da7441ac2.dip0.t-ipconnect.de.\n [2003:cf:d737:d029:edef:7b8d:a744:1ac2])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43796a5d156sm45786805f8f.5.2026.02.18.05.27.02\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 18 Feb 2026 05:27:02 -0800 (PST)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1771421529;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=KNGtHA3kcdOL2SVcnUEo+P1ksEysivVPpQTbAQYAGcw=;\n b=iFCc3302pjs/PE6hTzevM6QYVNl0sx98KM+UU42YV1HuVMGSriI/EuEQnFnpCXDy9xh/p4\n 1mKFI/IrXgM85ov20vIKH8Cen+R61YqfObXn/hWh66I7Rg86isJ4FGaHEIi+K4R89O+XvT\n GamJLEK3RGdEKY6mm2Mj724zWtY7gqc=", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1771421224; x=1772026024; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=KNGtHA3kcdOL2SVcnUEo+P1ksEysivVPpQTbAQYAGcw=;\n b=kfA7iLv8Pa0vvoxELeloKQr2gUp5kEEV8RraNBayCDTyOstqUAEFOQBpOMY0bHx7jV\n ls8b+lYqM0OSwpXakNGDsgWC9W2krP6Rh4/UVzcTppcQVN9E5SB2BhRfpo604PgoVW/b\n OfsqvKHvOnmC35az9IlU1FlJblH40bSJaOi6OnkVmNi/Jrs2+961hQeDifLLGTUotKeH\n WHaC7U9t748CIMMD8BKiJ/Yy//n/eNhZwy5F6fCQOaMlzvYb0GItEfO5ne/pG94VAr9T\n mXEeNKJkQNeznjlGVr/WnrTrP4+nYe/CHjLfjFIM1rcFq2W56Dc/dIMVOaoj4INe0o1Z\n F9hQ==" ], "X-MC-Unique": "hdgelCW0PjO0dimMrVNx9A-1", "X-Mimecast-MFC-AGG-ID": "hdgelCW0PjO0dimMrVNx9A_1771421224", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771421224; x=1772026024;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=KNGtHA3kcdOL2SVcnUEo+P1ksEysivVPpQTbAQYAGcw=;\n b=MO/DDb6fM+xFf0qXBPodBv+mmgNHwhMW2wwTcdx6LrU2xvKhjWX9zJmqd3EPa8b9P3\n VwEuML3a1CtV3SD6Ytca98CGhVCo1QRz2BlendrVCJrxpRX4lbKfCBOipNMSO2oXVFaE\n Hb+HH3dFrIVayrvHauzsf0QjlTSNaAi8ZzgF3GtIGHOFiSsrTwjYIQ91V3iX56nlFDLo\n 1McYcINCajWiE4y6as/zLgXIjqw84WWbXgvUfSGagUxi0B+Zr1e3671a8uz/hLWPOQOw\n r61GATi9iIkHTR/wftB07Q1usD70K66w2/poq0y6NULqKUvkkFEMA0aIwZk5WwX+PTdN\n f3mg==", "X-Gm-Message-State": "AOJu0YxG2dolzSrAOxIGrfSG7csiJgaSz4OKupwV8mIo8qxUi0BpzkPL\n HV47ukGyQoB7Rn2Vm5fHo59sTLW4KPCRxTiUSYNZZjIqy2p3BlJiJ4dZrrIvu+ac5PS4Xkn/KxO\n vNqHboLok7Jwcs/BCftQM/Si5DtndH0c4QFBA9l4se7c6r2v+t4OH6V6t", "X-Gm-Gg": "AZuq6aLb5wZb8pcqRa2WHLCuCkfEnBr/an8+lerIIutsAEKeFtvhUKES3FXKRwh/hhx\n 6aaZFhd0lFTgYrPOwOpVzIGpBHQCA85aBna5pUDi2QfIylK92VV2P7wJ9c2GTCFLdMO1pcgNFgq\n M/nafcgK/G1iJjbMY/nhb/2joIf/05vRLcEtPjxCMJ0XQ+ZZvWpGsdeG8V0OVhb+mSZlEYjZMIY\n vmI4rYld6aPIIumZ2tRBwPvqXknLT6Dq3QLpxku05k5+QdqKrl6NMeY9yDPueMRa/8EKJUT4nXU\n Qd5vAxmuAVJql027lUBQGxMemCTai/alvvfQqcSkhhHx1/dhvS9mD4iwAip/O1XMQiFZ1JGbRjg\n nsdJeWzXWG0ILiAxBUzldbpnDRERt9UaXDVhk764qWhzhS/Z4AZCx2Lw51XcUeA0s4q26froUVh\n SQHn83", "X-Received": [ "by 2002:a5d:5f53:0:b0:436:3536:f694 with SMTP id\n ffacd0b85a97d-43958e0e72amr3221025f8f.22.1771421223990;\n Wed, 18 Feb 2026 05:27:03 -0800 (PST)", "by 2002:a5d:5f53:0:b0:436:3536:f694 with SMTP id\n ffacd0b85a97d-43958e0e72amr3220983f8f.22.1771421223529;\n Wed, 18 Feb 2026 05:27:03 -0800 (PST)" ], "From": "Hanna Czenczek <hreitz@redhat.com>", "To": "qemu-block@nongnu.org", "Cc": "qemu-devel@nongnu.org, Hanna Czenczek <hreitz@redhat.com>,\n Kevin Wolf <kwolf@redhat.com>, Brian Song <hibriansong@gmail.com>", "Subject": "[PATCH v4 08/24] fuse: Set direct_io and parallel_direct_writes", "Date": "Wed, 18 Feb 2026 14:26:17 +0100", "Message-ID": "<20260218132633.29748-9-hreitz@redhat.com>", "X-Mailer": "git-send-email 2.53.0", "In-Reply-To": "<20260218132633.29748-1-hreitz@redhat.com>", "References": "<20260218132633.29748-1-hreitz@redhat.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=170.10.129.124; envelope-from=hreitz@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.043,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001,\n 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.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://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 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "In fuse_open(), set these flags:\n- direct_io: We probably actually don't want to have the host page cache\n be used for our exports. QEMU block exports are supposed to represent\n the image as-is (and thus potentially changing).\n This causes a change in iotest 308's reference output.\n\n- parallel_direct_writes: We can (now) cope with parallel writes, so we\n should set this flag. For some reason, it doesn't seem to make an\n actual performance difference with libfuse, but it does make a\n difference without it, so let's set it.\n (See \"fuse: Copy write buffer content before polling\" for further\n discussion.)\n\nReviewed-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Hanna Czenczek <hreitz@redhat.com>\n---\n block/export/fuse.c | 2 ++\n tests/qemu-iotests/308.out | 2 +-\n 2 files changed, 3 insertions(+), 1 deletion(-)", "diff": "diff --git a/block/export/fuse.c b/block/export/fuse.c\nindex 0422cf4b8a..d0e3c6bf61 100644\n--- a/block/export/fuse.c\n+++ b/block/export/fuse.c\n@@ -582,6 +582,8 @@ static void fuse_setattr(fuse_req_t req, fuse_ino_t inode, struct stat *statbuf,\n static void fuse_open(fuse_req_t req, fuse_ino_t inode,\n struct fuse_file_info *fi)\n {\n+ fi->direct_io = true;\n+ fi->parallel_direct_writes = true;\n fuse_reply_open(req, fi);\n }\n \ndiff --git a/tests/qemu-iotests/308.out b/tests/qemu-iotests/308.out\nindex aa96faab6d..2d7a38d63d 100644\n--- a/tests/qemu-iotests/308.out\n+++ b/tests/qemu-iotests/308.out\n@@ -131,7 +131,7 @@ wrote 65536/65536 bytes at offset 1048576\n \n --- Try growing non-growable export ---\n (OK: Lengths of export and original are the same)\n-dd: error writing 'TEST_DIR/t.IMGFMT.fuse': Input/output error\n+dd: error writing 'TEST_DIR/t.IMGFMT.fuse': No space left on device\n 1+0 records in\n 0+0 records out\n \n", "prefixes": [ "v4", "08/24" ] }