From patchwork Fri May 19 09:21:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1783670 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::237; helo=mail-lj1-x237.google.com; envelope-from=swupdate+bncbcxploxj6ikrbph7tsrqmgqewzb7cbq@googlegroups.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20221208 header.b=GRHxxHR0; dkim-atps=neutral Received: from mail-lj1-x237.google.com (mail-lj1-x237.google.com [IPv6:2a00:1450:4864:20::237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QN1ZW2DzXz20dX for ; Fri, 19 May 2023 19:22:09 +1000 (AEST) Received: by mail-lj1-x237.google.com with SMTP id 38308e7fff4ca-2ac7f9e64ecsf16433361fa.3 for ; Fri, 19 May 2023 02:22:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684488126; cv=pass; d=google.com; s=arc-20160816; b=YOEirpTTVheKK3+S+hnkMOfWJA+8eJHaIiKvEZ28dN2ujEF2rWbC9jRbuD9xCN9ug0 jEAVOmsmi9moCWirJW8s8ucHTg/a/LK7pd8P4R5ZcRwfY5LBBvqN8UJAorXX/1Ce+9vz AsQd3Dg5MFhluNIud8bNldTTz5gxhCBmJQWq+nkNzZe2L8WQX0OCAENab/yhjSYRJMjH snCeknabajg5jvftAO30OMvXTqlVCfA1w0pBOk7820T1cShI5SEIBqGse77xxKHjaXyX Fg5Bl6TrDSm/2NeCaqkL0LOnZlubK/DrWSvB9/XBDuDCjl2aO463wLpWf7P1DN+cWmpN 7twQ== ARC-Message-Signature: i=2; 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:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=tDi2tgw563v4W9MVwMCXsAmx/dK9WJmmbRE+EECjqlA=; b=Xpb/W2qAIG6sRuyVnqeUHvi2ZXsELjcOgArb58t7TBAoZtHFIrPx0wJkvk7I0oDBvp Vyjn3sNjKfEd3/wP/yaLidv5clrzuED+02IoAfxVC9BylTUTkDAjqCdy6b5r0Ft1z/ze q1PYc2kYZnCOSzPK1yfxW5gKzq601vNY9XzC1gyN7CWPmcF1Y1ix/MvGyV1jdxdF1k0m 6+8lYaczLw03mOD56b2NuWW7oo6G0bj6nNBXfw0LqWG9Sj7+QUiJAse/8WxCUe4Aukcy R4LEjn6IAj36pgYCHqRYcyBmCvyD8Qpvbf7FvcrJIVHdOrZWZ7Bnv9weC6PmvbEek06S gqiA== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1684488126; x=1687080126; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=tDi2tgw563v4W9MVwMCXsAmx/dK9WJmmbRE+EECjqlA=; b=GRHxxHR0lgrmwHaEqf5wvvXm3tq93dok+WtxwZ4VUlir6KY5DPrCuDTgUHSqNueRAF lcA1+7ocxCTVuRDkDu3lqEIKce88kCvxd4CMO/Pc/kwrSsCermjyGYtvlBn52efK+yF3 eDpgg7UY4No4OzRU/6rkRX6gV2qhf/CwmoCl7QrLZuLVUQ27+n4y/W23b7aO934tn5V8 5qiJk/phOGDS3nqxtdrUQjSaeGIz6fxIMNzjjXg3BZvD66bDjdYdIktT1/vCQHkLTX/N t4094az8/pfN8i26AesvQkK1ia8YEnkcswZhuhLDwu/Evtrf70uhN4Y8X8e4tOoxqMW1 9XfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684488126; x=1687080126; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :sender:from:to:cc:subject:date:message-id:reply-to; bh=tDi2tgw563v4W9MVwMCXsAmx/dK9WJmmbRE+EECjqlA=; b=MosAszlOGHiSkMnODsJazD38OkJD6TTjqbV2iSi3eiS+rAt30qBcMwcLhkwC5ibB6I uYcGIpP2l+TBRMCZB9/prxzXHgRCdoKNZPArhcAXghPRUIWTK3t1ODUzxDt4NchBbe89 9MtV+UkKg+GhiYBwRye9RCBEY6qi9+9WJd+U4cHG44siDxRyVJmrDwUz0zSAgvKHqoQC vWfx1bNkySr/twJlXMdk2ULXrZY50t+remKgHwlPzjzhdukX35MYQomi82lMcQrq+eWY 5MXntK+PG1qF1fVrzJVQBnNvQvXoCKYZ1B2kcMCLU8J1+Iy4CeFRHzx6ikNY1fV8gpxO Y7Sw== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDyYSO3jDGAIfRRJauMCsWxA9hnyDz5NSSwgOkDVy0hGvhnn/F5U qax+jwsk9Xi+9GfP6hkVHhY= X-Google-Smtp-Source: ACHHUZ6rM+tpPT62P2J5csz4nVrRZTM7DorAsxw2Gg0dnY7sLA2twDXjvG0pi9A9NlMw0tDGh1qgcg== X-Received: by 2002:a2e:8695:0:b0:2ad:9161:4ee2 with SMTP id l21-20020a2e8695000000b002ad91614ee2mr293416lji.5.1684488125227; Fri, 19 May 2023 02:22:05 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:ac2:5bca:0:b0:4ec:b233:723c with SMTP id u10-20020ac25bca000000b004ecb233723cls1308901lfn.1.-pod-prod-09-eu; Fri, 19 May 2023 02:22:03 -0700 (PDT) X-Received: by 2002:a2e:3603:0:b0:2ad:98a6:4af0 with SMTP id d3-20020a2e3603000000b002ad98a64af0mr574871lja.23.1684488123359; Fri, 19 May 2023 02:22:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684488123; cv=none; d=google.com; s=arc-20160816; b=ZzaBxWBUDxN7fy+Fz0pjwBnvbOM3WE1DSzldm2rXQbP/5cDfurTWTMbpZjo+Nx+B9q 31Rl0BSuN97hBDA4tqVa2kP63PO3I4tTtSHGB8mqwLik1kgCLOOurcCFb0l5Zn4p8jvU vBgZ3R0KxTf4wN4bL13i/+tZDPWXNsmN29sxa9P5zTwv1FceU9xP273A3isQTB8LWnOm BWcO3IdsjbX6o6hsOgpbCq/tCD5vnmLWgltrPopov8H97APi/IeziRVfIWtAH8ujnBSe Rp9HBhM+j+9biEcTFiae9PH+8HY8O3AWL3amdlIfH2VWcNYLPq0Q5c3kTi+SgLhWAVK9 R/cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=N9UVbtVtG1sN6SljdhI/f4fdJbHtlyMnxbQ76eRUPhc=; b=LsAImyWULFs306djqf8WjHlpbaepeUyH5STyApYKlakL4Zggs3c7u1+lH6BKjbhXwk 9gmrzMrsPDDSxIS+fhuFVVrhH9sUveAi7c3H3TU6gYEeaqXlmV4WIEcieSQG49d6Mmwt VkIXxASCFXRu1yFIq7JFGuSFRA2OwtO02RRuqKw6zdpKR7/oE2vkRrm/4rbLomi/tCkT kA4ThfdPWSIbORSw/tOc2WCT0iIYy1rHL/5Mtb/2k9p3CxTOGJOyp5NMqqQ9rjCj6/Ap dGccuY9yUJL83kaTVpzFxS87R9QGqYFtvRAKdCK78c4BqkWtRFqZDyVPlxaigBbW9oKa 5Pwg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.9]) by gmr-mx.google.com with ESMTPS id s10-20020a2eb62a000000b002a8b2891ba7si219722ljn.1.2023.05.19.02.22.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 May 2023 02:22:03 -0700 (PDT) Received-SPF: neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=212.18.0.9; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QN1ZL4S6Kz1r5rd; Fri, 19 May 2023 11:22:02 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QN1ZL45Xhz1qqlb; Fri, 19 May 2023 11:22:02 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id XcK4gRjFDKdg; Fri, 19 May 2023 11:22:01 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Fri, 19 May 2023 11:22:01 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id E0E394540639; Fri, 19 May 2023 11:22:00 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([IPv6:::1]) by localhost (mail.babic.homelinux.org [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id 7SkBzKdD-LLC; Fri, 19 May 2023 11:21:58 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 660B045402B3; Fri, 19 May 2023 11:21:58 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH] BTRFS: exec btrfs-tools if library is not available Date: Fri, 19 May 2023 11:21:56 +0200 Message-Id: <20230519092156.264645-1-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , It is planned and desired that libbtrfsutil will add the mkfs feature, and this can get rid of patching btrfs-util. This remains an option, but also add the (temporary) way to exec mkfs.btrfs in context of the diskpart handler. Signed-off-by: Stefano Babic --- Makefile.flags | 6 +++++- fs/Config.in | 12 ++++++++++++ fs/btrfs.c | 15 +++++++++++++-- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/Makefile.flags b/Makefile.flags index 0224a390..c235d2ce 100644 --- a/Makefile.flags +++ b/Makefile.flags @@ -193,8 +193,12 @@ ifeq ($(CONFIG_EXT_FILESYSTEM),y) LDLIBS += ext2fs uuid blkid endif +ifeq ($(CONFIG_BTRFS_FILESYSTEM_USELIBMKFS),y) +LDLIBS += mkfsbtrfs +endif + ifeq ($(CONFIG_BTRFS_FILESYSTEM),y) -LDLIBS += mkfsbtrfs btrfs btrfsutil udev +LDLIBS += btrfs btrfsutil udev endif ifeq ($(CONFIG_UNIQUEUUID),y) diff --git a/fs/Config.in b/fs/Config.in index df6c185b..5be540f5 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -28,4 +28,16 @@ config BTRFS_FILESYSTEM comment "BTRFS file system creation support needs libbtrfs libbtrfsutil" depends on !HAVE_LIBBTRFS + +config BTRFS_FILESYSTEM_USELIBMKFS + bool "Use modified source from btrfs tool to be linked as lib" + depends on HAVE_LIBBTRFS + default n + help + This requires at the moment a patched version of btrfs-tool to export + mkfs.btrf as library. + +comment "BTRFS file system creation support needs libbtrfs libbtrfsutil" + depends on !HAVE_LIBBTRFS + endif diff --git a/fs/btrfs.c b/fs/btrfs.c index b7e2f871..425974f9 100644 --- a/fs/btrfs.c +++ b/fs/btrfs.c @@ -28,7 +28,6 @@ extern int mkfs_main(int argc, const char **argv); int btrfs_mkfs(const char *device_name, const char __attribute__ ((__unused__)) *fstype) { int fd, ret; - int argc; const char *argv[3] = { "mkfs.btrfs", "-f", NULL }; if (!device_name) @@ -44,9 +43,21 @@ int btrfs_mkfs(const char *device_name, const char __attribute__ ((__unused__)) optind = 1; argv[2] = device_name; - argc = 3; +#if defined(CONFIG_BTRFS_FILESYSTEM_USELIBMKFS) + int argc; + argc = 3; ret = run_function_background(mkfs_main, argc, (char **)argv); +#else + char *cmd; + + if (asprintf(&cmd, "%s %s %s\n", argv[0], argv[1], argv[2]) == -1) { + ERROR("Error allocating memory"); + return -ENOMEM; + } + + ret = run_system_cmd(cmd); +#endif return ret; }