From patchwork Thu Mar 18 15:16:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roland Gaudig X-Patchwork-Id: 1455323 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::33b; helo=mail-wm1-x33b.google.com; envelope-from=swupdate+bncbaabbag6zwbamgqeeuuj2oy@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=VrVNpi40; dkim-atps=neutral Received: from mail-wm1-x33b.google.com (mail-wm1-x33b.google.com [IPv6:2a00:1450:4864:20::33b]) (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 4F1Vxv6Xpcz9sRf for ; Fri, 19 Mar 2021 02:17:23 +1100 (AEDT) Received: by mail-wm1-x33b.google.com with SMTP id f9sf11982095wml.0 for ; Thu, 18 Mar 2021 08:17:23 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1616080640; cv=pass; d=google.com; s=arc-20160816; b=sWQ4uecOa7NhrZ2H33L1dp7zZkvDydibt/wLZe5vLAiVZ0jDMmxH5Olm9ppLT77Unj G/VQBmeXR9nFLlZ2+1wlS8YWbI75B4Sv2Sq/3RuapWC6bU+wlE3jrbwTPsUh9YD15eSz xw0CpdRmgH7OptCitOnL04LlSvbjELp2neHGrautIYsY35YQceI03FrwiiSw0FRoCONe a0T48CzadYbrYxCzlPWVi6JghXJiPDAAYttt4pB+TrEUslU036mjklNhajglpMCoxAys tEDJOWe7RXFoEYJfbyZ07xv4ed542iOXaFdj8Jv4ewhXCGtvyEmzTxnvUQRZAsV0xop4 rxVA== 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=IlZom67tUgwU53yQEy/1yBRvzDG3Pt3tgAj8ojQEyE4=; b=tYboqwqLSZWweUoaMD/fNPpljx6erdsPHpKypC7u6VSLSbM7YI0oIgJLZONhtUy9vs s/eCYd7bX0axg3nCBLeOrvWEsYrhTK21XlusMdP9tE3XprdWy14eCMDA9BX1pI2/KPCG xfaqdfCnn6135E33g8/dbSfz+w6Q8J/Kpd6Ei3QEQG38K8Tv9IBmoGiIL2JjtWB0pLAv wDjnqpHH68lVPypsGjjlgfZpUJKSWQ6hbmsS+eOsrL70c3KQkl5+EpRVI8WEeM5RwYKR dvrOslIHVtacjVfEr9IAKK7bmTnUgSwThVifyULgyyM8GoZqstGzOms33BrAz9FHvDaE P+bQ== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@weidmueller.onmicrosoft.com header.s=selector1-weidmueller-onmicrosoft-com header.b="sbtx/Dkz"; 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.21.43 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=IlZom67tUgwU53yQEy/1yBRvzDG3Pt3tgAj8ojQEyE4=; b=VrVNpi40uJV2qrmCgsMiXo47PHG5pXz9EhTUevUzorbx/h7dcCuEtlHAg6PdnmPivN 3DouUIcf5NwNs475kP0gG1G+zbAOGBnbkscjs0ZuIeXiMlNB8/uvwtYgnLms0LixTDZT VT1ZAXBlOI3zlbUBjHr2nORqPHL/3GZ77T99DhPga84rGw5IE7LRuaP14Hg3lpE9b2UL Gc3PrU38gJR4dC2w2rxwSMvJocIzL+NuHxXmFbIADYE+InCx94bMSBgZP277540fqgvK XyA/QTzT1PC9eetL0GmgcyFStEYIMTqwoYGV2aARQi5N+DJnN/6Gy6h2yqe/SZ/v8kli Zesw== 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=IlZom67tUgwU53yQEy/1yBRvzDG3Pt3tgAj8ojQEyE4=; b=O/Zim8GRdx/05o76dAQfHTjqJp1jj97m7hEN22TpHMOBnDAymkxhXCA+6FCLGZ/kL7 3wOnghBCoFWF+zBCC0K1+pksBS25Xp541WkHPsXwgxy8nQE4MIlvjrkiBDvIwUKjM+Kl 8ud/z/LJAGdL1Bg17hF1YrqBsi1+ovnrDw4RhDWZhrq4ntG9jpH0l9d9pg+DQNlMhhkL ysNrDz5Pqu24EJwPCJ2yzUD4UZEDYZIe/1UhtvtHjyEl/Yi11UTnlADKk1bG9XelC4Dx qPmW/chPUmtstfMpvGYlajOT8aEnE9bjBlpNriThHWKlpvHYjCHZNusIwUZsbgJpbXNf ofWQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM533JVDOoKitIhnnkJFk/8NkZt3MaoBp/LFNzy+cxZ5e5/Omn8z+W vof99l2Ucu/71pWDCjWduUs= X-Google-Smtp-Source: ABdhPJydA+aQ408L5BB0NqhHgMr+e/yw2LOv68nu7KsuB3ABxZGg0n6AAnUWepn8RZsu4mPaDMU23Q== X-Received: by 2002:a05:600c:4fd0:: with SMTP id o16mr4156631wmq.123.1616080640725; Thu, 18 Mar 2021 08:17:20 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6000:162d:: with SMTP id v13ls1398406wrb.1.gmail; Thu, 18 Mar 2021 08:17:20 -0700 (PDT) X-Received: by 2002:adf:d1cd:: with SMTP id b13mr1028375wrd.47.1616080640113; Thu, 18 Mar 2021 08:17:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1616080640; cv=pass; d=google.com; s=arc-20160816; b=Fg2ESeL4JsjfDGle2VZy+m0XT27knRw4FwAz5X+WjWX0Gqvx/eKJIW0L5l2OnY0p3P pikgX7/MzlEjnX7FEB5UgazABJv0jnNg5X+bMitk26yKp2etJON4yM4swEQEsJn37zau cWIurYt5eAMTmzkI5YJT+HNMfRngdPmjHQicsRc71v/t/mdLuQuciD/y+FWyRBbdGtLJ qaN2ja8aUyMr1zupGFFgXIhZIunsrdDzwmbqsu+EPm+US39Q0D6KnTwNGryL7Z2glP61 sLsL/AO2jcpmYBcfuQ1icAFloTZU54wIsdgWH+37n5aQ/LS6PDJqDeFJ67+yzYpXJcrl LlDQ== 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=0jz6xoAO3iRcEgimY7t0igngsmkw/z9y6c4j2PeqoVDPXlzJTMKzmlwpDjrxUI7p7p j6snVKuGCrqb++8OLlrHDenhDA3GorY5g0ai+hi8pc97CMTdAbQhmjs28Eoqz+uQtswu pHfaXhbWjq+hZhxow0CSWQsK0SJo+WcyXNWK1WV63Qvq5h0zioh7+4AxfknqJB1quIp8 NM4Czi1JoG95PaIN+Xigp3Of8PaRK34dXxcooMoe6v5npFYOe+bcr0YSlObBu0y3CsBi HiQ94JM8L8F6afx/HdLuM5UOt77+mnuVLdXdTJ/fe8G980lIs8zt/05ewq6j7f4JOqxO PPug== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@weidmueller.onmicrosoft.com header.s=selector1-weidmueller-onmicrosoft-com header.b="sbtx/Dkz"; 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.21.43 as permitted sender) smtp.mailfrom=roland.gaudig-oss@weidmueller.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=weidmueller.com Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com. [40.107.21.43]) by gmr-mx.google.com with ESMTPS id i22si139263wml.2.2021.03.18.08.17.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Mar 2021 08:17:20 -0700 (PDT) Received-SPF: pass (google.com: domain of roland.gaudig-oss@weidmueller.com designates 40.107.21.43 as permitted sender) client-ip=40.107.21.43; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YKlkFiqvSSwsUEQqq+JZHBZ+OEG3qmsaXY180qTM9HDVDU6aNtBwwR5CQDc/GqylpTLIxjmpzo/MnXLYRgxBD+yZpbWYKzQvZI5VUyhTksD5Wfch4YNrulH9nl/0p2qmy4uR+q4pyjDR8KvGkDIl1xMmnloN19ZSwXFJLw53qFj7Qq0XoLKYqwpIbkIVYhpk+HzltQvQ+m47F72FFZ1Q+wwJn89thmK8cpPuOAO80jkRtoGHB62BgcEabnpBDo8NumxJdLpfujIdcrZksb3DCMLY0NXFZCeNnEnSXKn8PIh5yYbcvEenThiwMiQ3aFliVZiBHOyApbAxHv4pevTIJg== 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=CmpQk0QuNGq3fG4sBaJDQ6UtVCRqgRbB129G4Dkkr+TgI8GisE9J3nLSHeknoPpKU4YzL5oDgpHaEQckS/pCjzHwFujNCFmIlZYMz3mk1DTPrAJgL1aFTat+81j5uPrayhOci7ov44sCuheGsTj/DOC0JwxsmK9TH+22zpszdDl3cp+18p7l/n56OjBs/vKL1d+EhJeouyNViyhv5cmrAyG47XvIl4TpwMlEDKuZ6tNKkE4orDDluQnmllMPg3hb4bPrjnx/z7pEF7kCbqlPZtHgdEJzAoJ71bPnvwkEyylAfHJDMOFHYA9azJHd6aEu9aFr4ht4BSjfbGjKhwwemA== 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 DBBPR08MB5978.eurprd08.prod.outlook.com (2603:10a6:10:1f5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Thu, 18 Mar 2021 15:17:19 +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.3955.018; Thu, 18 Mar 2021 15:17:19 +0000 From: roland.gaudig-oss@weidmueller.com To: swupdate@googlegroups.com Cc: Roland Gaudig Subject: [swupdate] [PATCH 3/4] handlers: diskpart: add filesystem creation support Date: Thu, 18 Mar 2021 16:16:31 +0100 Message-Id: <20210318151632.2968-3-roland.gaudig-oss@weidmueller.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210318151632.2968-1-roland.gaudig-oss@weidmueller.com> References: <20210318151632.2968-1-roland.gaudig-oss@weidmueller.com> X-Originating-IP: [84.138.67.37] X-ClientProxiedBy: AM4PR07CA0008.eurprd07.prod.outlook.com (2603:10a6:205:1::21) 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.67.37) by AM4PR07CA0008.eurprd07.prod.outlook.com (2603:10a6:205:1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.9 via Frontend Transport; Thu, 18 Mar 2021 15:17:18 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 038ef605-222b-4547-f9f2-08d8ea20ebba X-MS-TrafficTypeDiagnostic: DBBPR08MB5978: 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: DwFI+qZjkiuM032VQ7uYLwqZ1tyThEu55LhS7wlX2P/3iLZc7dI0a3mXYUnOuIYVd97RzabsNrq/cmOGR7X+99ZKIKYGaF8KBorLNyrw/CZxi5lFshD1DpaiP9hK5sAq7oYrax+fAeeq58F5O7T5ArQxsqpgwT9Ql7sYrzy9gZo3BCA1qynzm+l80FutAlxSMtOyEsT94Nb0YfORwqvBTscOX7rH805K5GKFjroKVta8BL3DdEDszc+AgJSzhNTv1MsWUdcmH3Sv61dE8boM73FZa136FmA6faTUi80i7QTuG/j1EBf5s+TI86qeZcN4IPVIFRKrJw8MlzMVjkHHKkbf5eqiT1Q6xGQQ6lbegIMmCGrAvUDY+Y+3dOISNRY8lWu+yyv2/J8jtL9A1abRFg/+UXjUtPrHaiCEpdZ0Q2aIZGh5ctksD+l53j3zfY8PcTPuZrQ/jaf3gC5BG2thcEIS4Fn05suIwLVcSc8/gHk/457f6QrhFDGRSR0ybMjFV3AbGXDNKh5JmFP81Gr0G8bskvGlNt7E7SCUJToi2xOodCXU70y8iljWNxUmHSALenMeIAnrJA2nHjCHJSx3fDpF4JpdLgumhWzMVGQgxNOS33TmKYAUTo85kh56T8hBijpQZ2gfVwLha86w1+JfOQ== 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)(346002)(39830400003)(396003)(376002)(366004)(4326008)(107886003)(5660300002)(8676002)(66476007)(34490700003)(6916009)(83380400001)(66556008)(9686003)(66946007)(6512007)(8936002)(86362001)(52116002)(7696005)(6506007)(16526019)(36756003)(186003)(2616005)(6486002)(508600001)(26005)(956004)(6666004)(1076003)(38100700001)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: uVaXyOXxKjjv0MxAwzhL9suz0WHWPDw9Y+hJaHVe40gV1NXA21+oT25DQoTN1eJUsjr0S+5iiT0L/EQwji9rQvFgw+Pq60Oywvlys1O6Ke6Dcpa9m8UKdnGtMVZacyKBmuk+Ab3t2Pw+kq9zXT2fRrLKT4QoVHNF0weeplQDNlyOrFlng5wpdqjvCHP6VexBYjWLAlwm/jjiq1IQpAMwz1unb/zaa63DYx7nq8VdOg7CyzgqovSdYsqsfuQeMOE1R7I4fKgBk11Mh33W8CWeh3ZYwjv8DP4IrJYnGi/PmRNLkzJSgMmgSRcXik5r2kL+JTk6VKJEm9bsCAwdkbGJKAOSBV7gZ1l+kG6IPOTGGeO92K7U7qALpB84caTI52sEFL7clSg0UchzKlpaIIZBD87L9YJ8hh6f6kwFyscDMLUzMU/K3cCuy53fXtluLqplxIhisOvFfRF6AbVo+0sn1qznJYT4bch39IXAlw0948HuFWdAHfl7wJpayp53VYxdy3CHtc04ndfurdrylfZIy3E3Hm5JluB3KCMQ2mr9awWUBRzxPTrJu/njjWlB4PHB6MQnOl9HHtSaMUIY3FYyWKFJn0ZfLL31Qzmc+ylh+XR7EPYuRzZWoKas7wHeILTnluEQRVKKmXnD+DTkicJfaGGfRMwv5J0KDdAUeN/GWHDy/Q4L3GdxOkEKXmu/1YPINywqCmXMga86M6EosFeOht4/0GrnMzRqvoKWJ58w1hB5GAAUrW5h6Va6oSucQEfFiFBXEMr6nn8nfkoCUAMoEbAr2mpNz+z4EVgaSR4oubgnN3Qz5vfoOpIxiOV6ebvlNqv8XGwlj1ys1tJDR5MZe/4MYex+YhecL6sQg8hkgfbmx9Wn5AsuKd+3nqblZb6HIJeVyr9dBSQWusQOSXb2dRmzVBSggm+sbzP9/ohjWs8JKuj1DF//CmBZdlyeLR/R1ajmouYHQ488/jy1a15diXns+Vu9Y5hZAvEkFiWbgA3KCIRQM9Lj1f8/OWfONRChQ9KgbV5ScoC7qrb4lS8CK+lh1Xr/bnfSgG0nMhuitEm1bEMRpcF09O9LfU32rU6ni4m0dZePZGTQvjyBOtYy3tVErXOJkeF+93ZpTouh0SxIyqmsyP3qq3UtcfKtG9dd/PSy327efoSQfNPNmRO9O6neCa/PpbNUG8pi4dYBvyCAr9V14KigNf2pDapl1+sYqRFFiM/jfHqermtR7NWNbzapPXibLyOKvSpAycz2KQH5qOZYwsy86rh7XhExdOndI/4Mw2Wi4QQcWG93jpGygDEMmDXw4F8PdfMyNrngKvESxmfxQ8Vttq8HVI7zJmYs X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 038ef605-222b-4547-f9f2-08d8ea20ebba X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB6729.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2021 15:17:18.9131 (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: 1B4yMf+Av7Kx6wtwatcecvq81+TE+0VEhv6G9KKwT1eO+BsHSBB/NG3EQDXoBh+hz9iKEF/WI0iaa0WaCZ8pcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5978 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="sbtx/Dkz"; 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.21.43 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);