From patchwork Thu Mar 25 15:46:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roland Gaudig X-Patchwork-Id: 1458431 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=googlegroups.com (client-ip=2a00:1450:4864:20::23b; helo=mail-lj1-x23b.google.com; envelope-from=swupdate+bncbaabblpb6kbamgqeapx75zy@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=pqIpLC8S; dkim-atps=neutral Received: from mail-lj1-x23b.google.com (mail-lj1-x23b.google.com [IPv6:2a00:1450:4864:20::23b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F5qJ05CDKz9sRR for ; Fri, 26 Mar 2021 02:48:00 +1100 (AEDT) Received: by mail-lj1-x23b.google.com with SMTP id i26sf3237830ljn.13 for ; Thu, 25 Mar 2021 08:48:00 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1616687277; cv=pass; d=google.com; s=arc-20160816; b=RJVRwUthG7u6ZGHiuQeRd1lZvW+L7rYPtHAbjsg1Z42Tnomt3xSzBAZ63h9vLvOytF dNXR91y+3q3iT4rLVGX/+6JoeHjKN1BYt+oNh5ExW6zy4ZGMTiQH1edhkiJ2faA3xJqb ZqDlexpAoA0lfW7GSQRWeFabDla9BoqSjX/OzD4KGGIk4hXkWtAp91gkFgJyhs3bEAnp qWRH3Bw8FxCy+430jFyHAdJOitzuc/uepepuqSjw0aASG8yvhvaMaGJGBbkJT+27X2RU rUWiQuokKWrTntf1xptxsmEgyFlv6xSqf/Hfsk+IVJKWq2dz42CGqiluF4Q/v+CfKUOI MCaQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=yVooK04cxrhw/bbFa9yLFDAdACCnYgDEjC4NoZdIVHE=; b=W9UqJ74YuxX9to1NP4FVlhw0A3rB+6b22QqJU2Ue7584PTy98lJ13DYStwI9oeIwzT 6Mt54tLVbY92tryiHTtwRLhLOGXOPXW+k2cQbdUba3k3ti8guh8JXQDPa+gtBhPF0ncp XVLkew/NH2McX7+ncwY9Rza2NcpQop7LYaWJAz4k7L96/y9lKJ1gMpMw6m+Wb3Nb1LVW AAMOehFQT0PhYYESoUR290MKVPktWHdEpQpekVsyMKWs/wKTcv3u57FO5uZUZjnJMf5Q ZEMIsaLpTyEXkHtPBVPxNGRek8UXbrBHUGlms2DHOP1ueJ+I3tUtTMVdaUDIDb3of5CQ bdnQ== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@weidmueller.onmicrosoft.com header.s=selector1-weidmueller-onmicrosoft-com header.b=voD70fGO; arc=pass (i=1 spf=pass spfdomain=weidmueller.com dkim=pass dkdomain=weidmueller.com dmarc=pass fromdomain=weidmueller.com); spf=pass (google.com: domain of roland.gaudig-oss@weidmueller.com designates 40.107.6.64 as permitted sender) smtp.mailfrom=roland.gaudig-oss@weidmueller.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=weidmueller.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=yVooK04cxrhw/bbFa9yLFDAdACCnYgDEjC4NoZdIVHE=; b=pqIpLC8SNW4dsypwDRW4kdVEYL6u/TZQFAWkd0syfxEAwvWOYW42HJm0UDvmGcHAPS RMIO4s1LI90fW2rGLwWCaKFy+NyNuv7WUjwcEEnvS7ls3lb27whqCrk6VQJ2RtGACWZM vxcP42M/ievAmW3pU0Ezb5s3RY7PRUJxsfI3Qc74fIufdRDw6YJ2jmfzOJoYzusfjB2p HqELMjc/QJ5cRVvTNi0xhP7debLQ+8UfH0B5HuEKRkgpM/9gs0CCaVOc6MWCal1gqlHO eTyvtfHK9N54tAXOrM8NqzCd95e6xWMYS27fkgW+RzZ+qZUQKQEKA6man0MFi4ZGXmSh PRXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=yVooK04cxrhw/bbFa9yLFDAdACCnYgDEjC4NoZdIVHE=; b=KK19+x6MK/WlL4u2OPTEfhRBq0nOaGdbcGsLk/eizkbvC2h77O8Ltrr57FOtARikvP 4TD9y3nL1iTtX++8eT8ZeSUg1VGD7rB6Ey1yyGA34Px2/5rfNLte4iyNTGOy2RjONEFF O45VSUHl6Thf0NehS8Xm3o8b/OSrY1OUueBXIBKlYrB+6Zq/saFH+zaPF/KacLc5KItp ndIcQgzx3uZmKAMNzYdS/Cy8Tk+UBdYcD5Xrx/pUe/cKhWsK7pLeUfL9MncU8b7lN3Yk vuCw06+3foFrySC7DxTM3W7a2s61RhJdptcdrTz4umJQrQ1Tc5xYNVgF+MH4jt+KmSqB 7krA== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM531OyjSPgjPpFGqooz/tnHa/CgFeIkKKS+XYqYpuHpK5aoVRfxyR trnv4zr4hmxwnoGLLS23+3M= X-Google-Smtp-Source: ABdhPJy7BZLSLNTBjkpqpUwRjSOi5hU6B+HDvP/Z5vMrbyCBVZWxmesH//GnO+oegmZK7gfq1h5M9w== X-Received: by 2002:a2e:a312:: with SMTP id l18mr6072329lje.106.1616687277339; Thu, 25 Mar 2021 08:47:57 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6512:3d16:: with SMTP id d22ls1271308lfv.1.gmail; Thu, 25 Mar 2021 08:47:56 -0700 (PDT) X-Received: by 2002:a19:e48:: with SMTP id 69mr5132177lfo.469.1616687276412; Thu, 25 Mar 2021 08:47:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1616687276; cv=pass; d=google.com; s=arc-20160816; b=Fv1esVWGXusU4NE82IQuICcnn+8bN7AIx/QLNfV9YSZBrqJ4GZ8Yz1Mot84JmogDVR aIGgSIM62RVWLNqlpGZhqoCAjW2MWeZC4QfkhVHNrPfhKavPpDwg0bp6vH74wzJ0uGEJ ow44uxElkKdOR7c8k+53AcMrs0CcfqzR5OTqRoJXfYoPJsb7hlePhOfrAKrmqHzDCQjV 23aWH/40sHIAlN0tNmAohIKUTm3qBB7oNiFJF9Ff95Zys3qPQXxA20Ik2/BnZh2Fl/Rq M/BARHixB4BwVAJD7yWKsj3e324DyUWcDnG/Q63zy6Y0oBWT5APQrlYgOGThRzLvN96F qyfw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=4tLiBvPKBrswyofU+TwzPu9bu/nszzUIYa91EDq8CXE=; b=p6a3t3Z9EtHu4XtvwvUnPAIc3EZfdRMPz+7Vzjx+6+DsNuLULwZNfeNe9n/nyV34k0 YfUmiDJl2DKPjOQq7zEbOIlJ3gq2uuEILzwbPSy/5ozP2yTr+1RYII3vhOIqh3sszUsB vT+uOnzc625fauvrWE9Lq9GbUrJKsIB/kYdtaE+klLO+qrYFrugPYJygMBXamipTLwf6 NS74xiQUcihlASLyjlORT/2v+P3qTUzHeiFRCzr95+9F9xq9of1+zlPgPeK9Y98qxYLC /19tKMj2VA3T4hisQYAp7ynt9EgzvAPI6Lwhg0mHNmMHKtQ7+D4vr6IUTpOdjYnT+DM4 HB6A== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@weidmueller.onmicrosoft.com header.s=selector1-weidmueller-onmicrosoft-com header.b=voD70fGO; arc=pass (i=1 spf=pass spfdomain=weidmueller.com dkim=pass dkdomain=weidmueller.com dmarc=pass fromdomain=weidmueller.com); spf=pass (google.com: domain of roland.gaudig-oss@weidmueller.com designates 40.107.6.64 as permitted sender) smtp.mailfrom=roland.gaudig-oss@weidmueller.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=weidmueller.com Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60064.outbound.protection.outlook.com. [40.107.6.64]) by gmr-mx.google.com with ESMTPS id v3si262876lfd.4.2021.03.25.08.47.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Mar 2021 08:47:56 -0700 (PDT) Received-SPF: pass (google.com: domain of roland.gaudig-oss@weidmueller.com designates 40.107.6.64 as permitted sender) client-ip=40.107.6.64; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GdtCKErJNgB4BPbXRsTO7J88f2945o2SW/ZvFPR0X6PMuvGVh8D/kWGoKjHH54J9IqBkb4JpLcmbLCaHuSu9JTS3lgcFZjECXXYpISmsGz1j0Jkpsvex+XK3D0WNfwVhhfPyHscfSDtlsFavpvs/qJsUoNL+5CrS/7tSkaXgB3CQ8PMQB6tsoo02Qe/85zl33w8/L+blGuEGjJOAXy4/TJPaMiFS2o4wKaljhbQMSksCPw3tKxlP8cAqjZrSrB8XLt1ii7eRiMGSGsju/RL6VRlr2EribU9FJbCvWmRxk+qkQe8vcnRnjq4x0m6KghPmHzAsv8LGUQO3PW9G4t78fA== 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-SenderADCheck; bh=4tLiBvPKBrswyofU+TwzPu9bu/nszzUIYa91EDq8CXE=; b=lqlqg03BLiAbQ6pKhP/udtZtSpmx89eC26EimvFx4a0beuGvoN5/Wyda3FG0ZV+fRn3d4U2ja0Jf//xgVVJ+N5DFvIOOHzxjB+jjZSlW1Cp2ULu7HC2h4SchnatHR5GuI04L0tlPNFEk/jaaLEKa2aOEVNVTtvk2kfw2XCWD+O623k+gTkxDBxKA9+p2IcRUfJQLlSjLEo+4cg075t/cZzfZbQj/CBgwLnMshqVm/UDoObksCG5iGbZ5zL2cqWGOuZZ83Khnvu4M4HRDCu6/JYA8UxDiG5JcETAWLEfXWW3uVxucwtaUMQFzMB+UCMEq1Bs0pKyaDikGGcEBHzSGbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none Received: from DB9PR08MB6729.eurprd08.prod.outlook.com (2603:10a6:10:2ac::15) by DB7PR08MB3836.eurprd08.prod.outlook.com (2603:10a6:10:76::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.26; Thu, 25 Mar 2021 15:47:55 +0000 Received: from DB9PR08MB6729.eurprd08.prod.outlook.com ([fe80::5996:6199:1eea:6e5c]) by DB9PR08MB6729.eurprd08.prod.outlook.com ([fe80::5996:6199:1eea:6e5c%4]) with mapi id 15.20.3977.026; Thu, 25 Mar 2021 15:47:55 +0000 From: roland.gaudig-oss@weidmueller.com To: swupdate@googlegroups.com Cc: Roland Gaudig Subject: [swupdate] [PATCH v2 4/5] handlers: diskpart: add filesystem creation support Date: Thu, 25 Mar 2021 16:46:26 +0100 Message-Id: <20210325154623.7717-4-roland.gaudig-oss@weidmueller.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: X-Originating-IP: [84.138.74.98] X-ClientProxiedBy: AM0PR02CA0117.eurprd02.prod.outlook.com (2603:10a6:20b:28c::14) To DB9PR08MB6729.eurprd08.prod.outlook.com (2603:10a6:10:2ac::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from DE12086.weidmueller.com.com (84.138.74.98) by AM0PR02CA0117.eurprd02.prod.outlook.com (2603:10a6:20b:28c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Thu, 25 Mar 2021 15:47:54 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6da88185-a91f-42aa-4f81-08d8efa55b26 X-MS-TrafficTypeDiagnostic: DB7PR08MB3836: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:64; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: myUtubxu7J30iumn4TthThr5MKPcoGGetjt5Y4hejI4DlMotfUQjFZdcjLmTlTZ3WtupDBFmYl/Y+dUbxJopYTrG1qHqaj0QRqjNaFR00BYRCT6NRYyJdvBDtEt+a/7gB/n/bNSucVcuUCxVkdWgIuJ+m/Ups/3ZMzOAyJsnEzr35zgOeN4TUsJiwYOBsoq1XhVs9LQ5CuUvH4g67GbVOLVIDe2eFdYRWdOXpvxvlw71U7/a3FwMJbG47+Id4Yb9MUZ0X4b/YJk4w4AXhk30Ocm0hs7YNjPMq6fEMoBDtii3b+SUlT6v95xLxoYDhVBJ7EwR+og5pGlxXKqPaZZ+Pcf5Q7sGuFmoEsZE4jAmhAa6ql9N1dHByr42HZJ7E390jdCqj2p6+UcLZrr8+67yfDNS6Tn+lLp/lwHsprgo8oMjykQc9OaW8Sf0Guix/Vgpo443nWKTHoMxFWX/2v5w9wC0GLQMsLVOS8aT3unBkoW3nGxe4mhTQb6kUWqLQufwTXMQzGbQne4AWwYYCRI7M5OyU3r8c8/Ic6ZASvC+9hPhdPnaS0fwOtExhxe8xEigHgfN0xM9w2gp7vwL4YqdBzJI/zkhFAMiaiQ8MiHKa3L/UwsgeB5nmRLoYvMC70nyxbs+fb7ZhZtbZInFP4URHQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6729.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(346002)(39850400004)(396003)(366004)(66946007)(1076003)(5660300002)(16526019)(8676002)(66476007)(186003)(4326008)(6916009)(66556008)(2616005)(6512007)(9686003)(6666004)(8936002)(38100700001)(956004)(26005)(86362001)(478600001)(36756003)(107886003)(2906002)(52116002)(6486002)(7696005)(316002)(83380400001)(6506007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: u1/h3nT+5iDvwTbr5Ih6AL6MQKDRO+QRPG0/wVwfFELepxXnlk34q3Us5BaG2CU3CoZha0lqYZF1ZZaVPmGltlPRWWASQejLxF7hh8x/RxvgdN6aMojkFQZHDBbGiSHD66c4VaXP6Y0OzgTwymK0edgwupB0zZdI7XahwjFB6bAX4JL24NWoykW8e+yQVp1dY4ki2sZLU40GXAwcy0EuC674R9/56YPPKSVJB5RmZEWzgDOqBGztAqIhXfT9CAtmy7fMfp3/YeSNCBoyHJLaBwqehnu2cw6CxmpMXdoDLeyz7EYmN/p0fZ1kmRRgCEpOoofSTSJf7I20303by0DV4OM472Pb2SQo0MUbBGIHq1InLVJMeZggRSWzAEMFpoYIIeKug+eYww/3JGjGicDYN/MCFbPhFNnOpPSdUXfJAq/cK8amtnmUJ0llspVSkI4Ii5zTArpOm2UfHkUYp/ug5rmzhgO5RnFOGc0tU6tksI/yxTRF8QgK5dx9aMIB6/3wTVyUdEoR5t+163EGcXgMMx4jefJKK8Qn5jGHuF2Pde68/6oXyAP6B4uAVz1cQpT1fvJ2lXIsNUVtP6cELbmcASK0pTtB9CCtdVrqLULYHR/RdoekfjIuad/zekKoJVvIwiHixGEhiO0T/UgI0brVJhDLwlkvahXOg/LlzeiYsV4scwpJ6jJZhVj2GeefJ48ueRsgdk7lCpNMn4XmgP4wAbGOHXFByKldCdx4uRHjCFuf5NzWU5HsIQ9wTLVKXWXS4emi5gPFDb3PAOqLultoqAGj23N8n/6d9S99WhpipW3j/NLWfhH6+m4ZCYFIYFetb1mdxM/V4vy5rB9B1oHX2dgMU1Uo6u2vOhNvMoUo+XCDKXkbJexut+KGxmHiAmJTH6trOOXP3zzrO9/jR3emwIM3n9cR2PR/xMejnDrQlymmLpaFE8RbJ8trOQHkGXix8G/g7BKZy47bbKobbS9q9nRvRBmrRd0MlsD7RSM8MTwRhN3fI+sRmMmjlh9AcPKzIOpc1T0momjpTWSiDB1DqYWMwMkfbcYCUHgj9YJR4TngzqldJCLhy1HMaxPuj4s2cSqbSOo0s/lvRekPU3dqBDZA8xS9FyA61shN224U4HyvZNbAxz4+ZBrBG4e8o9HAwTGSvWuuZmmJ3Y4S3S3jbBsnU2zHeudakLdXob3bM0yox9uwEouPhJrw+Cymhe0joZaEBCxvhc1Hp1ScIp7KEDBKOm1fUqV9w9GqqU0rqs2Yt8UDhle+qvSjBV/MtGL/AYV2Ocvdybqom/MF6/ZD63XSySN5pKtj5+w1uDe06AORVeeE/l8PcEiL1y/R5HNW X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6da88185-a91f-42aa-4f81-08d8efa55b26 X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB6729.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2021 15:47:55.2248 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: p5JSOlPRPkz3UDwRSTBOJDSzKIW0oqE7r6GiVc1RCNSZhuX4kumcjyVtc+jeRO8c0/FWjKdqE7r5Nx84Al34zw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3836 X-Original-Sender: roland.gaudig-oss@weidmueller.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@weidmueller.onmicrosoft.com header.s=selector1-weidmueller-onmicrosoft-com header.b=voD70fGO; arc=pass (i=1 spf=pass spfdomain=weidmueller.com dkim=pass dkdomain=weidmueller.com dmarc=pass fromdomain=weidmueller.com); spf=pass (google.com: domain of roland.gaudig-oss@weidmueller.com designates 40.107.6.64 as permitted sender) smtp.mailfrom=roland.gaudig-oss@weidmueller.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=weidmueller.com Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , From: Roland Gaudig Signed-off-by: Roland Gaudig --- Kconfig | 1 - handlers/Config.in | 18 +++++++++++++++++ handlers/diskpart_handler.c | 40 +++++++++++++++++++++++++++++++++++-- 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/Kconfig b/Kconfig index 83d2857..75f9eaa 100644 --- a/Kconfig +++ b/Kconfig @@ -498,4 +498,3 @@ config ZSTD source parser/Config.in source handlers/Config.in -source fatfs/Config.in diff --git a/handlers/Config.in b/handlers/Config.in index 8571c0c..7a2a021 100644 --- a/handlers/Config.in +++ b/handlers/Config.in @@ -102,6 +102,24 @@ config DISKPART comment "diskpart support needs libfdisk" depends on !HAVE_LIBFDISK +if DISKPART + +menuconfig DISKFORMAT + bool "diskpart extension for creating file systems" + depends on DISKPART + default n + help + This extension of the diskpart handler allows creating filesystems + on empty partitions. + +if DISKFORMAT + +source fatfs/Config.in + +endif + +endif + config UNIQUEUUID bool "uniqueuuid" depends on HAVE_LIBBLKID diff --git a/handlers/diskpart_handler.c b/handlers/diskpart_handler.c index 16c9834..91fdcd5 100644 --- a/handlers/diskpart_handler.c +++ b/handlers/diskpart_handler.c @@ -18,6 +18,7 @@ #include "swupdate.h" #include "handler.h" #include "util.h" +#include "fatfs_interface.h" void diskpart_handler(void); @@ -37,14 +38,16 @@ enum partfield { PART_SIZE = 0, PART_START, PART_TYPE, - PART_NAME + PART_NAME, + PART_FSTYPE }; const char *fields[] = { [PART_SIZE] = "size", [PART_START] = "start", [PART_TYPE] = "type", - [PART_NAME] = "name" + [PART_NAME] = "name", + [PART_FSTYPE] = "fstype" }; struct partition_data { @@ -53,6 +56,7 @@ struct partition_data { size_t start; char type[SWUPDATE_GENERAL_STRING_SIZE]; char name[SWUPDATE_GENERAL_STRING_SIZE]; + char fstype[SWUPDATE_GENERAL_STRING_SIZE]; LIST_ENTRY(partition_data) next; }; LIST_HEAD(listparts, partition_data); @@ -219,6 +223,9 @@ static int diskpart(struct img_type *img, case PART_NAME: strncpy(part->name, equal, sizeof(part->name)); break; + case PART_FSTYPE: + strncpy(part->fstype, equal, sizeof(part->fstype)); + break; } } } @@ -380,6 +387,35 @@ static int diskpart(struct img_type *img, TRACE("Same partition table on disk, do not touch partition table !"); } +#ifdef CONFIG_DISKFORMAT + /* Create filesystems */ + LIST_FOREACH(part, &priv.listparts, next) { + /* + * priv.listparts counts partitions starting with 0, + * but fdisk_partname expects the first partition having + * the number 1. + */ + size_t partno = part->partno + 1; + + if (!strlen(part->fstype)) + continue; /* Don't touch partitions without fstype */ + +#ifdef CONFIG_FAT_FILESYSTEM + if (!strcmp(part->fstype, "vfat")) { + char *device = NULL; + device = fdisk_partname(img->device, partno); + TRACE("Creating vfat file system on partition-%lu, device %s", partno, device); + ret = fat_mkfs(device); + if (ret) + ERROR("creating vfat file system failed. %d", ret); + free(device); + continue; + } +#endif + ERROR("partition-%lu %s filesystem type not supported.", partno, part->fstype); + } +#endif + handler_exit: if (tb) fdisk_unref_table(tb);