From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7194774660571987968 X-Received: by 2002:a17:907:110a:b0:87b:d510:8da8 with SMTP id qu10-20020a170907110a00b0087bd5108da8mr354967ejb.243.1675242056697; Wed, 01 Feb 2023 01:00:56 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:c04:b0:878:509e:727f with SMTP id ga4-20020a1709070c0400b00878509e727fls12368730ejc.11.-pod-prod-gmail; Wed, 01 Feb 2023 01:00:55 -0800 (PST) X-Google-Smtp-Source: AK7set+DPTJ+RLMr9RTGRWOqaiy+STyUptNP6DOnIJ390juV9+YT+cpIgiVFVfEAd2My5ymuR3qv X-Received: by 2002:a17:906:7fd8:b0:88a:7037:855e with SMTP id r24-20020a1709067fd800b0088a7037855emr1384178ejs.9.1675242055375; Wed, 01 Feb 2023 01:00:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1675242055; cv=pass; d=google.com; s=arc-20160816; b=R2hBxjL3uTmuUX9/l5fpQ8nvRqR+PkQ7khb0FKDITa8nv6ycxn+V4c8PrcBynV/rxu yCQscmrzI/6lUFFYMQcrC/4+wtsMvWqVupTXo6Znj8MSriPPmJ+hwkVWit3fIdEjbuHs elMfVQkj/9uwv9XniSultSXAkPmea9KXT9Hr6TN88kafVbtrF5g0z4bv1242dWX7nMTu l7K8eFw4nOYn25wRlWAB+2+12v77v7zbo/rChAwScRQln7iNCNwTkMIoOMVgj5Dhbhs8 P3WCvvzMcKZ2DIb+aZTP+XJtxrO7C9dH6+H2XfvL49bWpUdpvG8ImmPmp+/2g4kNJ+U9 TDcw== 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:subject:cc:to:from:date:dkim-signature; bh=Vpd79Nf8AaYZgZjgiOPFBGhljU47+alHSd5BF+Cy5ds=; b=ynj9kd5iKfClAEw9fB/Y0XUcHx6dgF5RZWN2iIGjmw1kIvxty9GFuXgI56MmrrOVGk 5fDlZLy5nYA59LHXW8DbA+j8TCAmeg+wNzWI3wcCAxWpalZxamT+GUJbymU+yxubGV14 Gdxld89vBHmQKz5ya8/CieNn0tq+1G8Y1FEgFPh8Zhwk/yp0qLKr1DbggplMBwR7m9hI iEs//MvewMXDpW46XCA+681eCvMNFRSWrxkz27oqsmHjeWcDUDGtpWtn2LEFeCVmVshc kwZziwV1OJm0yZX/MTJR2Sd13mnkk33gpnabr+7VibOrPgKX65B9aausghzANquuJXbC zfJg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Ztd66daC; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.8.59 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2059.outbound.protection.outlook.com. [40.107.8.59]) by gmr-mx.google.com with ESMTPS id vr9-20020a170907a50900b0088d43b316aasi127431ejc.0.2023.02.01.01.00.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Feb 2023 01:00:55 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 40.107.8.59 as permitted sender) client-ip=40.107.8.59; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=Ztd66daC; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.8.59 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bm6+YiZZSvRgminaozYi1oR1QcIvf0s3zPrNqLbsnAOesB7upClK+znEf53NzazZVpgx8gPmqiJdPoPw7/GOa88no8Eh3Se5NebC5BFcgA35zx2jXkmmthcvykS9iT3Huo6rQwYnVajhfB0ILX5wRdxY5vJpLyOt0ycyoiLgIugM2NPDYbGfvKOIwBzCp1uiHHtCY3OEJtlDH8mPDUnLmsrb6GkSCyBf90nz1KtOOmFPE7fR3Trkal5irzl8mQU6UjPdmZo+R2CtzKbsfdFLt4etjCGeKcy2JbI7gfNy4nVDFn60JqROyfotOO8hwKXqACuiecQmX/RId8dXHJbaMQ== 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=Vpd79Nf8AaYZgZjgiOPFBGhljU47+alHSd5BF+Cy5ds=; b=BUpcDyDHBw7MGXnzufSfrNmKgCgOsjjs5R60NDIkqKOG9Tef4G11ybsetw36wNJqJ1xCc1i+muQ1xsy4p3WawbQ1HxHSA5RbDXkN7gMT8TBHv70DSNNFIrRZGF1Qw6uUzBVt49uskoCObYfzEeRLkJ7miH+kTXCMU+Pm8uJRL9UQS3IN34IE9akCe+cJxJZlyPHsLvg8ceD3NzV7YOCeaxSSnzglWNupm8EFXMjoatqYP3IylJmMv57/Jmdp4uSTD8CQHxOBVxQTCynH7g/dQwKq3wlBpFTKyl2DED2L8cofHXyYyNYgU6M9XIDysPO2JGnuRoL3Y7yQh3esiUR1/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vpd79Nf8AaYZgZjgiOPFBGhljU47+alHSd5BF+Cy5ds=; b=Ztd66daCvDFRxG4yISsXY/NEa76zFFIUaTN88EXsXmS9OWwUSuc75iYDdqhpS4pkoYFw8LR/Wd3LtZf9+wEZcdDrEG0fL89v5sF81V/E2Mwswj3uzdMrlfi1DZRIiaBbvTnaBXc6LMA1ei3teP+f0yKux672iCVrg3U3EPI2SA+CGC6E6KFPOSXWd52D+i7pGbCixwy2YYVwxU55ULnZfKNpTMUIEq3JMxHKbsXWwqDY6i0jOL/W2lXUi+cS53KItmIf9bjmw2BuvAb7TmMX4yogonWSE+m97YsU7pm+lX1BTAjyBgxIosWJuWCuDhe7kAlvrECY6lxWqWcNKeKKxQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by DBAPR10MB3996.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:1c4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Wed, 1 Feb 2023 09:00:54 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::ee44:171b:4c40:d42c]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::ee44:171b:4c40:d42c%4]) with mapi id 15.20.6043.036; Wed, 1 Feb 2023 09:00:54 +0000 Date: Wed, 1 Feb 2023 10:00:46 +0100 From: Henning Schild To: Uladzimir Bely Cc: isar-users@googlegroups.com Subject: Re: [PATCH] deb-dl-dir: Fallback to copying when import-export Message-ID: <20230201100046.27c229b6@md1za8fc.ad001.siemens.net> In-Reply-To: <20230131112012.24054-1-ubely@ilbers.de> References: <20230131112012.24054-1-ubely@ilbers.de> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.35; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR07CA0011.namprd07.prod.outlook.com (2603:10b6:610:32::16) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|DBAPR10MB3996:EE_ X-MS-Office365-Filtering-Correlation-Id: 91825e0a-20fb-42cc-dc3c-08db0432d304 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SPJr1eMqLENETAL6Tavsg21LyIcme4azR9M2a6g3J7cbIo9ukuD0t1ZERZRuvth/djHmhw5G8ZqvDwfGKMAWS5FGjJ+PZed5NvS1EPzVcymJKjixwoyJCfeL1PE4rj+W0gWdI0ziTQnpTEe8y0p/IWjk6UzkWsXMqA9Z60h1t9aB5L/chRCWTBcqxK6lTii0sDccpOgCqOFrsySpvVG0uZhnZYPMn8m1i4mHNUBRKOxKh1LQRdgxsVnJDqiq+SN2Q7dyFiJQgg68T+0LCmxdPIojTOWuAEFBsg824ES//d1qLFYpcNs4enYfqR3OMKpaDfBF2vw5ZWn3YpswTqbg9iJMw5kdzr6houYqcHr4LoImWB6bWkqMtoRDp1rGTT/9Spfjp9Xb9saI8zkjbOxssL5Qui80QteTqtui+CpX9oEkDypFHXdFutM6eap2uZJzmSX5YQBwxv6ac219bXSlL6ZwPeh4HEAupP523W6Rq5/dJqUEPTF+I0hE9/enGjnTvR+CdUXwPKjotsHOvCv5T4L3N6qXJQKrd2T4ymrWkwLxctByz9ulckhZvzmgyhp0FsDAMrm+lCZbIaQ22rrrIX/mJPmOjKzlPcXvRnFqRCiO50mbCRd08MHi7p2uw8vAALQO7XrqKP6wCIcpUaLmhg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(376002)(366004)(136003)(396003)(451199018)(2906002)(44832011)(66899018)(82960400001)(41300700001)(8936002)(5660300002)(4326008)(316002)(83380400001)(8676002)(66556008)(66476007)(6916009)(66946007)(86362001)(38100700002)(1076003)(9686003)(478600001)(6512007)(6486002)(6506007)(6666004)(186003)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?OY+G/bXizNttrgEKJpx22x23ocYqmCQGEscf6ABG888m0aQuaQMRQY6tmH92?= =?us-ascii?Q?QTLjPbEpWuEX047mtug06hXlyLpOsj6Nfgwd8iECKXl8eJ0Gl5THb3SFCMys?= =?us-ascii?Q?YyMTGeativ4lMAQkdqWbO4S8YLgixFCw3JT9Gq+/5CWzuQ7fCnuEJannA1U1?= =?us-ascii?Q?8B2ol5HP3wW7/T8Rt31rMResnlk+x5OZWm1+idfmByecQIqk04Q5RFQNDeZY?= =?us-ascii?Q?PoImZ0okODKlL1/NfbRTD9EkFswBiEQn4fgn2VLUa+2r5Nhe4FhYs7cWPM/4?= =?us-ascii?Q?K3Ida3JRdAJznawb0yeNZoNlvunkKEB1+7BJkaxKuO0gFxYGXyRRrlsip24j?= =?us-ascii?Q?mSvVP3pkFmR3J0TYf9zXnxjdKxjMA953SAZPNGS1HG7lA4v75L6ONWTXy6AB?= =?us-ascii?Q?zMmCIka9k/cWQUWRoclByWtKWtozVqW4QlFdd5ZDwr32OphIC9iQxL+x5gti?= =?us-ascii?Q?BklYXBcT6qfgVVnxGxk2nIZ5BotLOK5pSM4tRII9Xy3+7+kBnZadv6Q3VfFi?= =?us-ascii?Q?UAGtI+PCkb2C0uF4cdkbZL4QvGz/v3LYf+1JuPvLTQVVB7hNt5I9iyJ0mYtl?= =?us-ascii?Q?R6kINFLYRkdmek/PEzlQVm1zRzC8BHP0mpe94zTt9H8Ly7na0GHxoRoCagii?= =?us-ascii?Q?zWA2KXU1lmo6Eux25lSCPvIah5d4qtRL/YZfjugkhTbnsMKtL/JrR5HKhO3V?= =?us-ascii?Q?rRwnon3BRxZu4eKg9QKI9wmMp42PQu/Np5qPOhGkEcJCGqSVJBfJDO8v4e28?= =?us-ascii?Q?DV2jiVHsvGiMcVss9zAnJXpkm8WFQDqsPjjJ8HzUkUeIUi2r806qrxGE15mK?= =?us-ascii?Q?UScm6a/WpHhC6ruJcnZHqgb9aV2Akk47BLXoxYAj09CAfV8qk2VYCNw3unfR?= =?us-ascii?Q?aftPXeKR0FTLaa3kYJcgbgUUVhiSxljbfu2EkkjHPZmTdkVgHN0eTB/meiCg?= =?us-ascii?Q?H/WrDHv09n2u8rXPTw0FkoSUdd7Hg9VHgiHdPtL6YFwRmFpzz444GjE+JOce?= =?us-ascii?Q?MjZQAOyA21Mpw2IsG9oenOa7xu/3a6sqTOCOOn0GKSWMqVrOk1wMyvMo8n9x?= =?us-ascii?Q?T+JGk4HAteUR/Kv/yZMXcJaPcx8X2YXQPzB/YEzzY+N8/uDnvYlUWu7Zg/Pc?= =?us-ascii?Q?0TGPwwof+AGvm3eNjKCirv0IuIXjrGCVJV6oNor5P0tbcW1QdrnM0wSyQRw6?= =?us-ascii?Q?q9wjcH2w2Rl/9mxbK0eB/iPU0gdYYWKgKZRaCweKQmPv53KLVByfdxxIchwj?= =?us-ascii?Q?9wGUj4JtVTMJlhTrolkGXtGN8tZgbBuZIypNidzdbFDL53ntNYdjepVaXMsu?= =?us-ascii?Q?5fjHUeniow0+Qae+OUZn6xmb2Hzc6RQmr7bw3N1QWU1OuAFNESgwCO2/bdGk?= =?us-ascii?Q?q/Y8y6HWf3NECeuznsfOtxcdSMCIyBR1JOQ4Q88aE2V7T2o4hDGogv8BOyzb?= =?us-ascii?Q?bXyEAtHF/o4zYyeWaRkb4jM/WvmJO7GP5/fbSfubMzhs8LRopuW4VJ6+8JUa?= =?us-ascii?Q?taOkKMCk159Zt69j+ri+yE5Mv6ZUuZhSuG7qzlhZrPDgE4k6r7s92jPffTlA?= =?us-ascii?Q?aUeB0PpdK4xqkPHl4m5k3Kq7U3hgdFsZxXWTngsYGDDHGWPsrgtjFmeWgVSR?= =?us-ascii?Q?Fw=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91825e0a-20fb-42cc-dc3c-08db0432d304 X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2023 09:00:53.9493 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: S4JDXrss8WIdOtfz8nfyRB6LykI4Y8gl7DlFDdU+QU161dim8AV3j39BzDhcOKIcoNItER9d4AW6TrJRdPGbD4mvPimU5+JtySWls1EBgmg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR10MB3996 X-TUID: 55j1JLkHGOeN Am Tue, 31 Jan 2023 12:20:12 +0100 schrieb Uladzimir Bely : > By default, hardlinks are used when doing DL_DIR import and export. > This fails if DL_DIR's filesystem differs from TMPDIR's one. > > Fallback to file copying (with lower performance and huge disk usage) > in this case. > > Signed-off-by: Uladzimir Bely > --- > meta/classes/deb-dl-dir.bbclass | 18 ++++++++++++++++-- > 1 file changed, 16 insertions(+), 2 deletions(-) > > diff --git a/meta/classes/deb-dl-dir.bbclass > b/meta/classes/deb-dl-dir.bbclass index 7db25251..d572e6fb 100644 > --- a/meta/classes/deb-dl-dir.bbclass > +++ b/meta/classes/deb-dl-dir.bbclass > @@ -80,13 +80,20 @@ deb_dl_dir_import() { > export pc="${DEBDIR}/${2}" > export rootfs="${1}" > sudo mkdir -p "${rootfs}"/var/cache/apt/archives/ > + > + # Use hardlinks with fallback to `cp` if different filesystems > + export cmd="ln -Pf -t" > + if [ "$(stat -c %m ${pc})" != "$(stat -c %m ${rootfs})" ]; then Instead of dealing only with the known problem and expecting it to come, maybe try an actual hardlink and "catch the exception". cmd = ln cmd testfile || cmd = cp rm -f testfile Who knows which other reasons we might find where hardlinks do not work. And who knows how that stat could get confused by bind-mounts or funny filesystems ... where hardlinks might work after all, even if the stat would guess not. So instead of guessing i am all for actually trying. Henning > + export cmd="cp -n --no-preserve=owner" > + fi > + > [ ! -d "${pc}" ] && return 0 > flock -s "${pc}".lock -c ' > set -e > printenv | grep -q BB_VERBOSE_LOGS && set -x > > sudo find "${pc}" -type f -iname "*\.deb" -exec \ > - ln -Pf -t "${rootfs}"/var/cache/apt/archives/ {} + > + ${cmd} "${rootfs}"/var/cache/apt/archives/ {} + > ' > } > > @@ -94,6 +101,13 @@ deb_dl_dir_export() { > export pc="${DEBDIR}/${2}" > export rootfs="${1}" > mkdir -p "${pc}" > + > + # Use hardlinks with fallback to `cp` if different filesystems > + export cmd="ln -Pf" > + if [ "$(stat -c %m ${pc})" != "$(stat -c %m ${rootfs})" ]; then > + export cmd="cp -n" > + fi > + > flock "${pc}".lock -c ' > set -e > printenv | grep -q BB_VERBOSE_LOGS && set -x > @@ -109,7 +123,7 @@ deb_dl_dir_export() { > if [ -n "$package" ]; then > cmp --silent "$package" "$p" && continue > fi > - sudo ln -Pf "${p}" "${pc}" > + sudo ${cmd} "${p}" "${pc}" > done > sudo chown -R $(id -u):$(id -g) "${pc}" > '