From nobody Wed May 15 19:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=oracle.com ARC-Seal: i=1; a=rsa-sha256; t=1689612275; cv=none; d=zohomail.com; s=zohoarc; b=hN/gNo4iFyl220C3c5qIzaevQktjCK7mY7AztXRZpzOxegfxWrhkZnd4/0ck4e5t+Oll5lHiNYMMgyUmLgeomt+NnxI17sfsZQKpdoX5Gn6eOgX/vJpkH/ZedcOjadsQ2D1v+7bcUgN+wr/k3rPtJsr/au7zyIQKaAdWoF7wTXA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1689612275; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nTpgiftouM3xebDosMbu2H/IhWQQ7EYVZaJJzE7WnBI=; b=M+XJcP/Soo/WPOapBCjKn3f9iT6UUH70caseOUMIWfhJ7fBZ3rgbAr23YwIhRa6xxaMIpw+5RaWEYZjfNHkiVbHH6eNFNQttrzaOGCG/wjA1OarRV6hbYMIqP59aAmfJ230U10UxPooRCeLlNVkXc1KosDc36OjGiKIU0yFXExc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1689612275129531.6636553773361; Mon, 17 Jul 2023 09:44:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qLRK3-00013I-8e; Mon, 17 Jul 2023 12:43:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qLRFe-0008IU-Ph for qemu-devel@nongnu.org; Mon, 17 Jul 2023 12:39:12 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qLRFb-0003fG-Q9 for qemu-devel@nongnu.org; Mon, 17 Jul 2023 12:39:10 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36HF0l6Y017322; Mon, 17 Jul 2023 16:39:06 GMT Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run77u5m9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Jul 2023 16:39:06 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36HGaCmi007768; Mon, 17 Jul 2023 16:39:04 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhw3npn6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Jul 2023 16:39:04 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by CO1PR10MB4788.namprd10.prod.outlook.com (2603:10b6:303:94::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Mon, 17 Jul 2023 16:39:02 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::c89f:f0e5:c5bd:aae5]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::c89f:f0e5:c5bd:aae5%4]) with mapi id 15.20.6588.031; Mon, 17 Jul 2023 16:39:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=nTpgiftouM3xebDosMbu2H/IhWQQ7EYVZaJJzE7WnBI=; b=Io3BTc/vMnsNSXXrnumOlT3TXFN2sjAAp/KRq2zGBLTdZjadXwe9lQfj/9pO9B7CDXl3 cX1XnLPJwqhUM9FkbaYCZghq+JJzLtGGsCHerZEkekKQi1njT2q1oO7XQR9uFjcyc0LU UALrDoPy35jWFe0eHZJRbl/HIle/u6qZa9/y5Lf55UnWQJhGYIh0y/5EJVluppTdUjty xORp3+d6eOoJECMWLblvfrpKMd2rWMPfCj1fvBDZcHCLCo+ZDO252F4fxW3dXY/kN6R4 9cXDRipb+DXA/8sxmlm9sitSNg/swscnpQH2M1v7z4CNkwJfhDlRiUaTpYCZlUkiuyzj WA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DswaZ2UvbSrAmJrwJtLTRafz1oFJt2j4Sqc12SFJwIrQgjetZrYIOP/mwUHdJJ5J0LLpxyZReM3LexCF75KMHvjf7ivYU8DhyprlpfbquTyWpwgW4Tq75sg62P99nN2bs+AGRzWomOMttlXkhpvaFAU0vx7Fs1GV+FY71yyLBk2OR/ibPUEarEGz4rG4zz/yPIG/9J6ushT9FjsgO+HjchuMP/DZFDnUPxPvkNhj7nxnZb/HPx1KIc3o8URMymX4v5XEADTcU6wakkhqJaHSiNrp8i/ilaTVrRmVfkNmGo9NJHx/2Rumd5t6J/n1fzKio+08n/CeBE87sGmxPGzIrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nTpgiftouM3xebDosMbu2H/IhWQQ7EYVZaJJzE7WnBI=; b=TcKCFMj4F0rCIXqRaB1NxD0wuV9n7i+75xFFmq9+ERKxIJ3fWXFZ6U2eOgr8PXSdyY5Sn/0kxTR44LzPPrYhKTsxmLA5BHZwqPGh84APTRc3RznG7ERkELMKQ1cFdMkt0RyBeduBnTyJQ3gdQJFzGJkdHTVmRKMic2bvL8uA4RQig1YFJ46VmOB8vOQwYP4yZSXhktz4JrbuDPnrEpiVE9WvtbIosHrB8aml8myZpQIed6oLKaFwGDeOnTMPtijtt+6b8gMLjTgy3Dqj0QA9h8rR+2lFoMCMiLhrNIv4UPqMuN8yfqFrR5rfYtkjs6QPHXKUrz7+L/gIqUm7Qtx9Jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nTpgiftouM3xebDosMbu2H/IhWQQ7EYVZaJJzE7WnBI=; b=oEzxCCz5Cro5gRtI47bJ8G7cRLEFokVTWaDp01zDgY8ck7ev8+nT/K1z+dkHFuXwgA0LlmCA4j1FGNjvjx859au7RfOqmwEMyYEewpaZkA+Np6m5GueGLUmNbfpMnVNhHA5Hh0op7ZvcYfj2MR8xr0lgmMyQkLKAOMTrI/+lmvU= From: Stephen Brennan To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , linux-debuggers@vger.kernel.org, stephen.s.brennan@oracle.com, joao.m.martins@oracle.com Subject: [PATCH qemu 1/2] dump: Pass DumpState to write_ functions Date: Mon, 17 Jul 2023 09:38:54 -0700 Message-Id: <20230717163855.7383-2-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230717163855.7383-1-stephen.s.brennan@oracle.com> References: <20230717163855.7383-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ2PR07CA0016.namprd07.prod.outlook.com (2603:10b6:a03:505::16) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|CO1PR10MB4788:EE_ X-MS-Office365-Filtering-Correlation-Id: 9dd00d3d-71a8-4a42-8455-08db86e45359 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lilwdN/8LCIb4f9+Q/is6KFodTQhPg0BN6Uv6F6Q+4bbrvreG6dwV6+FgdPljcFh+5ZN25tFycAb1gi0jVIwyssIq1B4/OTjILsTuwExYS/FtPpftAt+ouB4GXFB7xwWl+jiJP98z+hOAshMDauu7Lnzug2nnnj80Bv1e0En5l2wzCjaFZTY/etG0MgqSvYH8K58lo9+9/ZdH/PJZ/xxZFWQi0g7sZFJuPOg7m6wQ6lxfc2ObFcYyVHwHTozOunItHypMCUofyFygoGsNdVTGmsWlsek9YN4llINRPWOfZYWW7+GJEfJpCXjv2YEDfifq0JsWiyoHRCYs8VLPCgK5CleTCPYxdsXkhDjmGDmSVhereZhZbFlSM6Nf3LACY1+BfedsESJnoqUxiX60ahbhIU98hVzZTQtfc9OTkitPhCvEQadqlEQQKanu0U+Aalv3eStJF+vUmSzKL2Fmg4l3y+bp9u0lXI157GsrFORxKyPlxHFIveTPi4PXsEc+zTeAH2tpcj+DD61newyhdNOS5YTVVFXcb3mwGm1zKm3Ssd1nSSJbpPKN1p6C26RID6Y X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH8PR10MB6597.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(376002)(136003)(39860400002)(396003)(346002)(451199021)(86362001)(2906002)(103116003)(36756003)(6512007)(186003)(83380400001)(6506007)(1076003)(107886003)(6486002)(6666004)(66556008)(66946007)(316002)(38100700002)(6916009)(4326008)(2616005)(66476007)(5660300002)(478600001)(8936002)(8676002)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ytGCo0OqNezEjg8pS7txJI51W42y9lHsV36BMaNUKTSVhw5vAGCEY0r+8Q/c?= =?us-ascii?Q?x4ifY8R+igwBOYczi2QJRfF+VT50IPGWR/rQAXtvClqskglGt1cRphQFUjqh?= =?us-ascii?Q?D8TA9BGWAbH360QSPOgh1xnoHzJ49L2SkHRZ+pBJEDF6C6GXwhuL+1GkBYVO?= =?us-ascii?Q?Y6mOl6fTRg4RnS+iDy+MYUI9i5Ufeu98fmKrjkKIz7Gsp64Kf7jhT5KDuiGY?= =?us-ascii?Q?AFXBTxuTycrHLjmu6agKU4LNqxls0WUKj6kikzdycwH56HmqSil7hCv5pTMq?= =?us-ascii?Q?E+2hDX/Q39ofC90dxQGJytGeK3yZBM2Cz84ECMvpKhvSUDRg+oF7PxcHvTh6?= =?us-ascii?Q?hjQHFS9xT8ZG6rskT0xvQfvc8EHG4LlqcCIIXeDFITklk2B9X3h68uOWycEy?= =?us-ascii?Q?ex/HyA6+H/ez/7rz8MiAcSexlaZhEAlUadRnwIbYH9ncJjwKkN68SdIklKhz?= =?us-ascii?Q?SGxBc06S/FimVlWCsn50r9Btb3b7HbPHYKqxFtPUAKWG6wdOT7kSmyZx7xc3?= =?us-ascii?Q?NRIVLTHD79brNmoAMKVe5gzc+984CE+Ax9hfHDMrzAnXtNZv7O63rq1aLPNR?= =?us-ascii?Q?JDe4R9bMWSd7blcB8dHfMonQ1PYomy2kuAAiaQCJvsNz+Vlhlkcc3GoSF22t?= =?us-ascii?Q?8aeL5Yl+uR7K+yorwK4r7B9gGxfKKn725GblRVZvWoAxpy1xr83GNaNaz70q?= =?us-ascii?Q?SBRcWbIZ+46ZIV4kHpUP1XTCPkt+BZpMaDWgTYPOqBE8bU0A799aVnIygjz2?= =?us-ascii?Q?PYZDycGmKwLLQKe+KSEobil552UGwqV7KKd6oqAyy2IC3P+PmEf5vcF3Sm41?= =?us-ascii?Q?3/9ScC0tQIVU1VRdB/hKybG621T/hguJPPusTNoJ6r1luYdHjpZSMsRqIXEO?= =?us-ascii?Q?TJdsAnDIaM9tfzhC4EC9L52scZCYn4M17mQ8ChuTiVIovr4V71oeOODk1blr?= =?us-ascii?Q?j2ycdxPvMzn4U0HvmysM2CM7LbYV66AquYaOXIFPbporyJ8mPV9SM5Whla/L?= =?us-ascii?Q?ggBVFUvea7C9sHTol090a6R/s0nuTxqNClgfI8LsbN7mvTYollsMZmZY/y6P?= =?us-ascii?Q?JZjwpAAmBezeSldNfJspEliIQAdqPeVx1ioIdxvLLwt5C4j8+LRFzZIKY4If?= =?us-ascii?Q?3YjTdFharpyGZ2fmznYWl1i9Xh64WXNUkWXxscmJAtFhh160gtUCX9veUxO3?= =?us-ascii?Q?HgQzoAEUKNs33DaG0HJVf0lVC61iP8CAFeAl5uRXCqRCaZmxAe2luT3HaurI?= =?us-ascii?Q?K8LBtDPRl2A8slr661snO2Zf/ADRtXnzf3ZM3EK3+gBuObQBnXhBCUpPLY6E?= =?us-ascii?Q?rJdI6UNKZzuEWBo8oxkytAVtb1C74ikamk3Vh08ntqWpCLZlqQl0vAQzryOH?= =?us-ascii?Q?vEYEyHBJt0yndd/TQ1vldjeAOXVQZZH1enDGLqSkAKFL4/F84XuOfpNEKTT3?= =?us-ascii?Q?VzpS81eAdtvPaJVDEkEI4Pg79yUxFqbCrp7Iqkb377zscd4C8h3UjVPPm3bD?= =?us-ascii?Q?Ti7vSy7T+aUi351bfm2GllPBbCAS0yceH/8jeJakyBf8N102dDIOfBX3bDgE?= =?us-ascii?Q?p7OqDwePWxH7mJx21P4oospMKenxdznOksB3TvqC/f41W4WxVHDmEXTmSBS5?= =?us-ascii?Q?JAwIJC+NmaoCzHwwXU1mwP4MF7xp7hJ3sg15o+OEIIId?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gHQJnjoQ5HZe4oILDyKmcgj1X+osUUNAy57cj3RzWvYs4ScAb0HG0eGIyOq9xuZ7gvdbZkq/jyqCYHerA9+O8ByEYTb+oGXfnZXY74ruHQZXWFNjCCvFpKelHgVn79O1JO8VFhMZsIjMUDbSkoJQAvx8miqw60ONH0nMdG/sNcgaKi6+5HLXuIvVTs6A5KomdsGXMf5GP3FUjACr77BH/8hOVk0WLVUmmQ+5isvzXf+GzD2dMWqAfYBhuKC/ivKWUWWpcdvUO6X2Vdhf+HcGcSpZrw0PRgCioxPdAp7qp9TT8SulKLKpi4OuojcEy4HY9fphNkhmsycnwmmqLadp/nW5d1RWYp3G6csAv/W005hUlWOx9Cg8wMm3WKUKovENVl5yNbPYFZEpmQkJnh2BGFnwXrOAMpJ4VXT3jMoASo3a7vuuqdme6m154FNOMpbg1TPx7rUe8sCOTWV9YqlIF31//x50Sgl+4Q7ybYn9IndcH5Aaw49J+zgd64MV0F3t5QZ9vad+HMbF12j8hVA1mgetEKJr2Bngg0QrF3x2CVbguPZSm6O9Wbgqcicr5dMwDBWllHz0IIistnFpvc2uyAUxypppMMN9ERML1e8INqDpSGVec4bRJrFdQllAsC0HhfSZ10RocKQ6Npngs2BAbmht3RSgj020T03KhvMAcsKy60cECwtZvAQQQiJmAUagy+CH+8ThUsKxr1a6iAyBmiCUz6TQ1VnMW/VZr9Yyy2tBGme68WLuNcOaqNrzv0P4ZSZCt0KW+lySGuLFcwL8iwznQaTBRGkrA4IJCqOIr2peNBSHMw15cXfPws9r/M2O X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dd00d3d-71a8-4a42-8455-08db86e45359 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2023 16:39:01.5305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QwuIaGN32agcbKkFKuSuyUnnQudv6VSGMdhSo+T1uiO9jgy0KMaTYSrZbJmirgVBdSlKXvu+QNI2Obc/h0mGJkg7FGZYd/iLmaXnQ76YAik= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-17_13,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307170153 X-Proofpoint-GUID: f-pI-6_ezkRS4FwvSiSJqpo5ZrVQgv4h X-Proofpoint-ORIG-GUID: f-pI-6_ezkRS4FwvSiSJqpo5ZrVQgv4h Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.165.32; envelope-from=stephen.s.brennan@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 17 Jul 2023 12:43:40 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @oracle.com) X-ZM-MESSAGEID: 1689612276672100005 Content-Type: text/plain; charset="utf-8" For the next patch, we need a reference to DumpState when writing data. Signed-off-by: Stephen Brennan Reviewed-by: Marc-Andr=C3=A9 Lureau --- dump/dump.c | 40 ++++++++++++++++++++-------------------- include/sysemu/dump.h | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 1f1a6edcab..2708ddc135 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -809,7 +809,7 @@ static void create_vmcore(DumpState *s, Error **errp) dump_end(s, errp); } =20 -static int write_start_flat_header(int fd) +static int write_start_flat_header(DumpState *s) { MakedumpfileHeader *mh; int ret =3D 0; @@ -824,7 +824,7 @@ static int write_start_flat_header(int fd) mh->version =3D cpu_to_be64(VERSION_FLAT_HEADER); =20 size_t written_size; - written_size =3D qemu_write_full(fd, mh, MAX_SIZE_MDF_HEADER); + written_size =3D qemu_write_full(s->fd, mh, MAX_SIZE_MDF_HEADER); if (written_size !=3D MAX_SIZE_MDF_HEADER) { ret =3D -1; } @@ -833,7 +833,7 @@ static int write_start_flat_header(int fd) return ret; } =20 -static int write_end_flat_header(int fd) +static int write_end_flat_header(DumpState *s) { MakedumpfileDataHeader mdh; =20 @@ -841,7 +841,7 @@ static int write_end_flat_header(int fd) mdh.buf_size =3D END_FLAG_FLAT_HEADER; =20 size_t written_size; - written_size =3D qemu_write_full(fd, &mdh, sizeof(mdh)); + written_size =3D qemu_write_full(s->fd, &mdh, sizeof(mdh)); if (written_size !=3D sizeof(mdh)) { return -1; } @@ -849,7 +849,7 @@ static int write_end_flat_header(int fd) return 0; } =20 -static int write_buffer(int fd, off_t offset, const void *buf, size_t size) +static int write_buffer(DumpState *s, off_t offset, const void *buf, size_= t size) { size_t written_size; MakedumpfileDataHeader mdh; @@ -857,12 +857,12 @@ static int write_buffer(int fd, off_t offset, const v= oid *buf, size_t size) mdh.offset =3D cpu_to_be64(offset); mdh.buf_size =3D cpu_to_be64(size); =20 - written_size =3D qemu_write_full(fd, &mdh, sizeof(mdh)); + written_size =3D qemu_write_full(s->fd, &mdh, sizeof(mdh)); if (written_size !=3D sizeof(mdh)) { return -1; } =20 - written_size =3D qemu_write_full(fd, buf, size); + written_size =3D qemu_write_full(s->fd, buf, size); if (written_size !=3D size) { return -1; } @@ -982,7 +982,7 @@ static void create_header32(DumpState *s, Error **errp) #endif dh->status =3D cpu_to_dump32(s, status); =20 - if (write_buffer(s->fd, 0, dh, size) < 0) { + if (write_buffer(s, 0, dh, size) < 0) { error_setg(errp, "dump: failed to write disk dump header"); goto out; } @@ -1012,7 +1012,7 @@ static void create_header32(DumpState *s, Error **err= p) kh->offset_note =3D cpu_to_dump64(s, offset_note); kh->note_size =3D cpu_to_dump32(s, s->note_size); =20 - if (write_buffer(s->fd, DISKDUMP_HEADER_BLOCKS * + if (write_buffer(s, DISKDUMP_HEADER_BLOCKS * block_size, kh, size) < 0) { error_setg(errp, "dump: failed to write kdump sub header"); goto out; @@ -1027,7 +1027,7 @@ static void create_header32(DumpState *s, Error **err= p) if (*errp) { goto out; } - if (write_buffer(s->fd, offset_note, s->note_buf, + if (write_buffer(s, offset_note, s->note_buf, s->note_size) < 0) { error_setg(errp, "dump: failed to write notes"); goto out; @@ -1093,7 +1093,7 @@ static void create_header64(DumpState *s, Error **err= p) #endif dh->status =3D cpu_to_dump32(s, status); =20 - if (write_buffer(s->fd, 0, dh, size) < 0) { + if (write_buffer(s, 0, dh, size) < 0) { error_setg(errp, "dump: failed to write disk dump header"); goto out; } @@ -1123,7 +1123,7 @@ static void create_header64(DumpState *s, Error **err= p) kh->offset_note =3D cpu_to_dump64(s, offset_note); kh->note_size =3D cpu_to_dump64(s, s->note_size); =20 - if (write_buffer(s->fd, DISKDUMP_HEADER_BLOCKS * + if (write_buffer(s, DISKDUMP_HEADER_BLOCKS * block_size, kh, size) < 0) { error_setg(errp, "dump: failed to write kdump sub header"); goto out; @@ -1139,7 +1139,7 @@ static void create_header64(DumpState *s, Error **err= p) goto out; } =20 - if (write_buffer(s->fd, offset_note, s->note_buf, + if (write_buffer(s, offset_note, s->note_buf, s->note_size) < 0) { error_setg(errp, "dump: failed to write notes"); goto out; @@ -1204,7 +1204,7 @@ static int set_dump_bitmap(uint64_t last_pfn, uint64_= t pfn, bool value, while (old_offset < new_offset) { /* calculate the offset and write dump_bitmap */ offset_bitmap1 =3D s->offset_dump_bitmap + old_offset; - if (write_buffer(s->fd, offset_bitmap1, buf, + if (write_buffer(s, offset_bitmap1, buf, bitmap_bufsize) < 0) { return -1; } @@ -1212,7 +1212,7 @@ static int set_dump_bitmap(uint64_t last_pfn, uint64_= t pfn, bool value, /* dump level 1 is chosen, so 1st and 2nd bitmap are same */ offset_bitmap2 =3D s->offset_dump_bitmap + s->len_dump_bitmap + old_offset; - if (write_buffer(s->fd, offset_bitmap2, buf, + if (write_buffer(s, offset_bitmap2, buf, bitmap_bufsize) < 0) { return -1; } @@ -1380,7 +1380,7 @@ out: static void prepare_data_cache(DataCache *data_cache, DumpState *s, off_t offset) { - data_cache->fd =3D s->fd; + data_cache->state =3D s; data_cache->data_size =3D 0; data_cache->buf_size =3D 4 * dump_bitmap_get_bufsize(s); data_cache->buf =3D g_malloc0(data_cache->buf_size); @@ -1399,11 +1399,11 @@ static int write_cache(DataCache *dc, const void *b= uf, size_t size, /* * if flag_sync is set, synchronize data in dc->buf into vmcore. * otherwise check if the space is enough for caching data in buf, if = not, - * write the data in dc->buf to dc->fd and reset dc->buf + * write the data in dc->buf to dc->state->fd and reset dc->buf */ if ((!flag_sync && dc->data_size + size > dc->buf_size) || (flag_sync && dc->data_size > 0)) { - if (write_buffer(dc->fd, dc->offset, dc->buf, dc->data_size) < 0) { + if (write_buffer(dc->state, dc->offset, dc->buf, dc->data_size) < = 0) { return -1; } =20 @@ -1644,7 +1644,7 @@ static void create_kdump_vmcore(DumpState *s, Error *= *errp) * +------------------------------------------+ */ =20 - ret =3D write_start_flat_header(s->fd); + ret =3D write_start_flat_header(s); if (ret < 0) { error_setg(errp, "dump: failed to write start flat header"); return; @@ -1665,7 +1665,7 @@ static void create_kdump_vmcore(DumpState *s, Error *= *errp) return; } =20 - ret =3D write_end_flat_header(s->fd); + ret =3D write_end_flat_header(s); if (ret < 0) { error_setg(errp, "dump: failed to write end flat header"); return; diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index 7008d43d04..e27af8fb34 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -137,7 +137,7 @@ typedef struct QEMU_PACKED KdumpSubHeader64 { } KdumpSubHeader64; =20 typedef struct DataCache { - int fd; /* fd of the file where to write the cached data */ + DumpState *state; /* dump state related to this data */ uint8_t *buf; /* buffer for cached data */ size_t buf_size; /* size of the buf */ size_t data_size; /* size of cached data in buf */ --=20 2.39.2 From nobody Wed May 15 19:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=oracle.com ARC-Seal: i=1; a=rsa-sha256; t=1689612275; cv=none; d=zohomail.com; s=zohoarc; b=VlF3PKdibMRN5VAeCGHTv6ltNRV52GKb1ob+1wzlBFODgmFs9+ub4j4Ws/5vY1I328nDa2W4pyhc20oyxopd263bQehpMshWXyZdk406NQ8rTrRGpbSs79ub3WJhVO4Ge1oMMXdcoiUdo0c8qhXti40HtnCxUq7FA7k468u1G4U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1689612275; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Vt0W4cbo4Pe1559QbKuzhjC3+BZUk8oMShwnoZ99/tI=; b=Mn2FZaANF9LxI1ZNwmNHdEF7OZgIyTsRJ3t7GuieyvJ3XffJxCA30n8x+AE1AtD8DJPJNjW/wmlWktRyqfBaTA/1h50YhWhsC1oWdAzEL8WZkLARgADfF9Jqy6sm9vxwCtqBe+W36C2ljehf/lg9mzrK17ko+iM7n/UDKL5Hjfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1689612274991636.0678009432027; Mon, 17 Jul 2023 09:44:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qLRK1-00012A-Ju; Mon, 17 Jul 2023 12:43:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qLRFj-0008Ip-Sn for qemu-devel@nongnu.org; Mon, 17 Jul 2023 12:39:16 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qLRFf-0003fm-DE for qemu-devel@nongnu.org; Mon, 17 Jul 2023 12:39:15 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36HF0efp016501; Mon, 17 Jul 2023 16:39:09 GMT Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run77u5mb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Jul 2023 16:39:08 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36HFbWXB023985; Mon, 17 Jul 2023 16:39:07 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhw45d4b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Jul 2023 16:39:07 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) by CO1PR10MB4788.namprd10.prod.outlook.com (2603:10b6:303:94::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Mon, 17 Jul 2023 16:39:05 +0000 Received: from PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::c89f:f0e5:c5bd:aae5]) by PH8PR10MB6597.namprd10.prod.outlook.com ([fe80::c89f:f0e5:c5bd:aae5%4]) with mapi id 15.20.6588.031; Mon, 17 Jul 2023 16:39:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Vt0W4cbo4Pe1559QbKuzhjC3+BZUk8oMShwnoZ99/tI=; b=uv3rzZrXj5YsuLlvf/YTCOCho2vg2mNPcAS++cz8WdngeNa7gKs+owdjrqurDbNfbR9h kQ7Iqb1KDqcJdIToGAjVkvNdw4fb/Rp4x/xinXHsjTkgfoG3+OHFbVV4wkvG23mY1htS 73Jqwhya9Zz2gZUE8mrOd4EY1C25RezCGA8iK4TJcTBoJNswPTe4Hkiic+/ys+1gIjKk epWP6+FTqQDOx/jGtprQo9UjWPQx6qrXWE1zDcNpbS7vsacbPCga8LDfNB0vavJvPEgt k4OpCIzfUp7WGOgapUg1LXZmxyHyiMiGKxTasBnKRz00rF32xJ09xuUaqOOqOfhe8bID sA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NbvrkZ2bzjwGnEav9EE9A6j5im43HdKn97HlMbVGTILLNYQtWqD59QhKbIIJmL+dTe6cO4YIjx5KBH29l58wrM9LuwnfyB+l6C5nzJ/7Vy4SlOeqUmuUBodEgZanwa465KcFOvUOODnz6I72rj2XSdvsu+rUTw0FW6phUukSW4FUG0pgPTwraVV3Tps4ItK7oY4W1jp7hkVSN+ZAyGSXsPffRiCPIr9QBx2DwgB0x7SLFF9emFbH/e3oXvJxp1xngWHF4PYjCU6eJ2XvczzivRPZeLO9oWSIR+2GFYdZt4fjS1A0giorZNERbG59YtqzKIRG3Ggvv1p0aR/Bw+Q6ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Vt0W4cbo4Pe1559QbKuzhjC3+BZUk8oMShwnoZ99/tI=; b=cXa7+Rh7cwcjvYTN0Br/qxmww+TC6NVE0buGScdZIL1D9QuXnFhLc/dwhFZ8QGPkZigpUoff+9XzDsdVZb0ynToqKIGsvnIeetRwSGwSxcdUEVNrQ8sYMprtedwQxpWeWzkoBOMEF1xJkU3eTsPEtq7WGWdYTBYU0V+FbETRs0exnjzzSwGiOZ0vnxkVxKKKoUHHSeWRVcKuP1eOru2SJmrx55EeBhVLTjpnPRQmH621PbDDLg2moXe4/rhzY3BZVRGLG3Dg/i2iZ8eTv+2jZvRyG9+AcMe8uvtxhKm+QCpdBQP8Ruls4k1XZLzNCT+CPk4bssorByCP41Jd30jjzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vt0W4cbo4Pe1559QbKuzhjC3+BZUk8oMShwnoZ99/tI=; b=Lfdv2eqmkiRH7ZJeFC/f7oLOYahYrq+JvySsyrGHI8GdvzSWGCAee9Z1ojUE7gRORV+CUKr5OAZlv4fRfZ4uP0uXniV/sWuqzdcjh4DXEeaGiIrGaLb8nn1ddttfoIvMJW2bjVrcDK3Xm9AyFsa/dspnj12B4QLGE2ba1eiQWkE= From: Stephen Brennan To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , linux-debuggers@vger.kernel.org, stephen.s.brennan@oracle.com, joao.m.martins@oracle.com Subject: [PATCH qemu 2/2] dump: Only use the makedumpfile flattened format when necessary Date: Mon, 17 Jul 2023 09:38:55 -0700 Message-Id: <20230717163855.7383-3-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230717163855.7383-1-stephen.s.brennan@oracle.com> References: <20230717163855.7383-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR21CA0023.namprd21.prod.outlook.com (2603:10b6:a03:114::33) To PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6597:EE_|CO1PR10MB4788:EE_ X-MS-Office365-Filtering-Correlation-Id: ce60714d-d918-4c4e-9fc9-08db86e45576 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TGwA1W+AhmG3UUjA05F1iXXq//H0CqyIJ+ivWeGCUUoX/iESDQixwNponBbWFZlVxgn6Te99Gf4o2CTWor0RT0fL9slIBM9NuZlLyXBfnYL+wjfoQ9cBf8yAEw3ZKikVZBSHjQO+s3C36Ip23oKrznrWNfkY08JIaf+weBox2sLbc2fk+Do6ApOkrJVWdk6WFuBvjFXuxwQE9Z59GcYx9vlVE9gXGrLx1L8O/p6kDItGkhZgoaXITg5nC/6U3xOLKRyBZWHLUyVcWoV7ZX9RuRlwzYGerLRjMSP8CoNcWBCs0fC05UEOontDgVfv15ZdE42BOToPaIWxjOTzChG5YmAShpHEE0G3suJghFYOw7mRYlSyKpDDF9jDFjdvZvSqBSBlkGuG7iydCnMWAPsK2/bb3GfHscaUqBHT92wG69qst4CkSzcSyq3+G9Bi9/5QhUjEuXDNCgHGmHx1jWJnm7n4CBHcw4AeA0z+EcIHbKP+/a8DM49PcdvvyzdPdO5FHt1SKj3HIExqxipL3EAqmAxjzp8yj4cHmSKkpbesEXA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH8PR10MB6597.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(376002)(136003)(39860400002)(396003)(346002)(451199021)(86362001)(2906002)(103116003)(36756003)(66899021)(966005)(6512007)(186003)(83380400001)(6506007)(1076003)(107886003)(6486002)(6666004)(66556008)(66946007)(316002)(38100700002)(6916009)(4326008)(2616005)(66476007)(5660300002)(478600001)(8936002)(8676002)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rtDz0Elyz+yyf0mMGJCK4jmJW0rtajWDy8OB+G5oiQowKgb686bi27SyhA0m?= =?us-ascii?Q?4gw4FKfA5J6COEmyNFY5w5e0RTU1y67TFlYtB9iOBf6U3HpwidinNsYY+v9O?= =?us-ascii?Q?wUX6hTdh2e6Eji/ql7ZLIL8hDbZrx8GWNZ4bDkDw9ggKQcb3OnFq5EcJXGiK?= =?us-ascii?Q?Bup0/lDvMVosX7hO3TLTXJlzZgVb5HQwZvLsj+OHs4GpYoTzSJf6QeOBt70w?= =?us-ascii?Q?twO1B04lZhAuZL8qiGEgG+H2/RW/uHYdL2E0xw6JFTjBBghPJupYr+HpWKsR?= =?us-ascii?Q?cGMcjZA1qLzJxdZOlccE3OnsT1e0oxFqbkPSzKHPOCSuIKnn09S7fFirirgf?= =?us-ascii?Q?tS8jEOgznJ5JWjY384JnHHPzjyV6KHmtUrU28e5IXf85cxRvGDoRRW5DjMaD?= =?us-ascii?Q?N1cqFDi7KOUXVZbpihIeiKdfD9aMyl2+5VKb8KTIkjuuUeDobrlKvUo0ZXSj?= =?us-ascii?Q?k7bxxGd9imve+hOfdpW95Jeh+ppmMbweRsb6e/ADKzSD34qtCCNvo0XzPAzt?= =?us-ascii?Q?bf5RyqRjIOrTgGzqHbMBvkMSPo77tE2DAQpD9Pg27rpsL0pOpCjuxfVDQAjI?= =?us-ascii?Q?BlQfLLtlINZUJRE48M+pnLBEUPavB9vxg0NCgEpLKXDWNR4bqy2DOOU1tRk7?= =?us-ascii?Q?GlGSRB8lev01zJw6yEfsg0jFfLBV5ZXi8ICFkGbSvsYy9SsCM3qGx2QkP96b?= =?us-ascii?Q?zZJdEerjfUl2CJcKxbe4aBi4lrTODlfjjTAvzdOHArLUel04Ie4LiCe8SNqR?= =?us-ascii?Q?2kMdABYn0uRNbvDP+h4+ITX57y/jNl0PdmMUUYimhq4nRwIcp14P1QA5PPTK?= =?us-ascii?Q?wefXE7y8dHbZrkY+QhVerHvCyuyCOYFuE+kBRvGPFvTqjtCN1y9aJRLsf9/j?= =?us-ascii?Q?Jnfc0D9oLVqARMTBQDI712izl4CwP6Abt/3mXDkmJYUOeykd6uG2W8Tg+wNV?= =?us-ascii?Q?oZc37OOneOI9oh/M1xQwQhGcLvVAS432TOccDZV8ItVL4EH39eRr0tslqymX?= =?us-ascii?Q?CVouu+Xilg52JwCpVjBEB7jQRUz7rkbPxjQ/+mCedKiKDS7FKJAL0P6RGGnI?= =?us-ascii?Q?AhmRbTKf5zd2QYfB6llSRVWAubJ8ixsvVmi6wbbPIHMjP59c157IKwkoz2LI?= =?us-ascii?Q?m7oPns17MTCIH3AAskdOgCe0GsV2WmZKHnDCnVME6K4Y8L/8yRC1fbjg+lv3?= =?us-ascii?Q?XPO5jJZDmy5gLTHb2ST2BnQU+gjqe/HHkgAobf1Y/bbeQ2XG+/B7g2B6hafx?= =?us-ascii?Q?bcDuu/8aL3bf9UU75hrHwAf99lZJffXo1bNKU1LUE3qHpN2QcCiaogVz1yUI?= =?us-ascii?Q?wbuGcvgHGQ36i1dezU4jEDDvFpdmk3t7GBxOFyvkmgLJAanaheCgQjHLCSI2?= =?us-ascii?Q?ZeTdpL3mHZ5xpI6odax2t8GV7l1yHlzUcxzHUZ9jrTZrWBASzBcKLY+/3lpb?= =?us-ascii?Q?nsxlirq6vCyqDu7V7l7XNTPpnm7OFTc1b9W36XTRYwwgd5md+c++zW8fqPlo?= =?us-ascii?Q?IMbSv0qcTj/Net6OCdISU0Trca8f9fXHzsmYcxFV9cQZPDO8t/MShFdTTnmd?= =?us-ascii?Q?PE/uTstvyTdHHWCDJ4qKKAP4fBXiSIm+yJ1/viraufO9Pm7cvwIEfI37Um++?= =?us-ascii?Q?OEg5DIj5jrpG7r+juI6e1mY=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mTpwKg5euGl4d+obIFiV6PmhU5xb7iRA5k2ZTAINnoYaYJu9FVdkUht1xUKyW6bGyFQHYcl8+0x3CrGDgUVybGZh9eVdVpucpwEnYCXN7+rYlvqKq7xYkJ1UmNsrZYcoWt69F3PXC0FnURWCAoLpY9umCpBQNDrWkh0wFCrPre+86ZnMdOXTz9BoxtCjSGrszLjw9f33KSotFNF1LaL9M5QzWCrxxnQlbtntN8JI9bsKn10ZTUFZlCXJZkgPEGYxa8XqiAZqjXdnUIl58j20qPmISq/2HHsErduHn8aEcYY1lcFWTuPzymQJ+Ca76QK8ecLqG2BASWSznM7EUq1Fgyah42mqHgHqYfA7wDAEvmvmGgj/6TCfBKIt9z3GISrNIbIo1tvU4o06zS+q6pBedLc1aY0oUQhDu79wLDbmM8RdnOdi27KXT6MRS772BEJqyzSYgM0XYJvH51JbBTR0WcY6y7U8nCWnOiWhT974UC9Oo4bEoTQK3+pcwxtTgeJ6JC7VehBXPX7pA58wEXmfjtIaAO5UWF0so1ZJeujEa+J2TxOfHG4lmoeMIVF+55ym6jvfTEhBE8SMP9W1cTD9QT2X1CAUHAcumkE0K/CqqICMAaeTL7Up0DaofBokN3/PsW2XtWc6w/qPkCCenl9Nrx7zWolWbok+nAmgH68+g7xkkLhJYRvq4+8icaiUjAbVS4eJC9ITsJCbQv9YkrxHFtb0dELHYfl4WUAu89lwwS6awbgZrn0y2tTFcKba0nmp/pZCi23PPrZG760qkhf8a4fIvbwRFZnx+rSI4zwSze/PS7Cs5fCmdFS5FVzYx61N X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce60714d-d918-4c4e-9fc9-08db86e45576 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6597.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2023 16:39:04.9936 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: on+dP1xLErPjH4WjQNDyoKxw7NLIw2cphijJME1TGdZWmdVmsTGnSQz1TgixTNAkLEWg4/697e7ebmECpuUhXUNM2Lgd5fgGiMNYnYiLWtY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4788 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-17_13,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307170153 X-Proofpoint-GUID: FiTYzCca1SjlfyM24ecO8GFhWT2Bex1M X-Proofpoint-ORIG-GUID: FiTYzCca1SjlfyM24ecO8GFhWT2Bex1M Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.165.32; envelope-from=stephen.s.brennan@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 17 Jul 2023 12:43:40 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @oracle.com) X-ZM-MESSAGEID: 1689612276651100004 Content-Type: text/plain; charset="utf-8" The flattened format is used by makedumpfile only when it is outputting a vmcore to a file which is not seekable. The flattened format functions essentially as a set of instructions of the form "seek to the given offset, then write the given bytes out". The flattened format can be reconstructed using makedumpfile -R, or makedumpfile-R.pl, but it is a slow process beacuse it requires copying the entire vmcore. The flattened format can also be directly read by crash, but still, it requires a lengthy reassembly phase. To sum up, the flattened format is not an ideal one: it should only be used on files which are actually not seekable. This is the exact strategy which makedumpfile uses, as seen in the implementation of "write_buffer()" in makedumpfile [1]. So, update the "dump-guest-memory" monitor command implementation so that it will directly do the seeks and writes, in the same strategy as makedumpfile. However, if the file is not seekable, then we can fall back to the flattened format. [1]: https://github.com/makedumpfile/makedumpfile/blob/f23bb943568188a2746d= bf9b6692668f5a2ac3b6/makedumpfile.c#L5008-L5040 Signed-off-by: Stephen Brennan Reviewed-by: Marc-Andr=C3=A9 Lureau Tested-by: Marc-Andr=C3=A9 Lureau --- dump/dump.c | 30 +++++++++++++++++++++++++----- include/sysemu/dump.h | 1 + 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 2708ddc135..384d275e39 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -813,6 +813,13 @@ static int write_start_flat_header(DumpState *s) { MakedumpfileHeader *mh; int ret =3D 0; + loff_t offset =3D lseek(s->fd, 0, SEEK_CUR); + + /* If the file is seekable, don't output flattened header */ + if (offset =3D=3D 0) { + s->seekable =3D true; + return 0; + } =20 QEMU_BUILD_BUG_ON(sizeof *mh > MAX_SIZE_MDF_HEADER); mh =3D g_malloc0(MAX_SIZE_MDF_HEADER); @@ -837,6 +844,10 @@ static int write_end_flat_header(DumpState *s) { MakedumpfileDataHeader mdh; =20 + if (s->seekable) { + return 0; + } + mdh.offset =3D END_FLAG_FLAT_HEADER; mdh.buf_size =3D END_FLAG_FLAT_HEADER; =20 @@ -853,13 +864,21 @@ static int write_buffer(DumpState *s, off_t offset, c= onst void *buf, size_t size { size_t written_size; MakedumpfileDataHeader mdh; + loff_t seek_loc; =20 - mdh.offset =3D cpu_to_be64(offset); - mdh.buf_size =3D cpu_to_be64(size); + if (s->seekable) { + seek_loc =3D lseek(s->fd, offset, SEEK_SET); + if (seek_loc =3D=3D (off_t) -1) { + return -1; + } + } else { + mdh.offset =3D cpu_to_be64(offset); + mdh.buf_size =3D cpu_to_be64(size); =20 - written_size =3D qemu_write_full(s->fd, &mdh, sizeof(mdh)); - if (written_size !=3D sizeof(mdh)) { - return -1; + written_size =3D qemu_write_full(s->fd, &mdh, sizeof(mdh)); + if (written_size !=3D sizeof(mdh)) { + return -1; + } } =20 written_size =3D qemu_write_full(s->fd, buf, size); @@ -1786,6 +1805,7 @@ static void dump_init(DumpState *s, int fd, bool has_= format, s->has_format =3D has_format; s->format =3D format; s->written_size =3D 0; + s->seekable =3D false; =20 /* kdump-compressed is conflict with paging and filter */ if (has_format && format !=3D DUMP_GUEST_MEMORY_FORMAT_ELF) { diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h index e27af8fb34..ab703c3a5e 100644 --- a/include/sysemu/dump.h +++ b/include/sysemu/dump.h @@ -157,6 +157,7 @@ typedef struct DumpState { MemoryMappingList list; bool resume; bool detached; + bool seekable; hwaddr memory_offset; int fd; =20 --=20 2.39.2