From unknown Sat Sep 20 05:29:21 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#56391 <56391@debbugs.gnu.org> To: bug#56391 <56391@debbugs.gnu.org> Subject: Status: `cp --reflink=always` creates empty file on failure Reply-To: bug#56391 <56391@debbugs.gnu.org> Date: Sat, 20 Sep 2025 12:29:21 +0000 retitle 56391 `cp --reflink=3Dalways` creates empty file on failure reassign 56391 coreutils submitter 56391 Benjamin Gilbert severity 56391 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 05 04:15:55 2022 Received: (at submit) by debbugs.gnu.org; 5 Jul 2022 08:15:55 +0000 Received: from localhost ([127.0.0.1]:49263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8dip-0004rJ-LM for submit@debbugs.gnu.org; Tue, 05 Jul 2022 04:15:55 -0400 Received: from lists.gnu.org ([209.51.188.17]:36850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8bHS-0000ea-Mp for submit@debbugs.gnu.org; Tue, 05 Jul 2022 01:39:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35504) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o8bHS-0005yk-AV for bug-coreutils@gnu.org; Tue, 05 Jul 2022 01:39:26 -0400 Received: from mail-qt1-x835.google.com ([2607:f8b0:4864:20::835]:41538) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o8bHP-00042C-Ns for bug-coreutils@gnu.org; Tue, 05 Jul 2022 01:39:25 -0400 Received: by mail-qt1-x835.google.com with SMTP id x1so12311791qtv.8 for ; Mon, 04 Jul 2022 22:39:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=backtick-net.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=1g/pVG3+0C9t9c2z1Y62UljZNgCTLa1pTAFn7rjHz2k=; b=IzSxWD8ZHXI6i1iSOwwL/BszFHPohM/oF1Xm0qrWwLb8ZPZhg+d6SIsxBUP3doT2nE jIrFuxXUDQz87TGJwH45ipWJMPlGuwInGqLacgg8TYSAOYg8BUZsSkEvC8/7jGy1wg+e G46GQWXr1y6jOYDQSjsEqB9RuiuELHNLBNnvjwIQc29SPz6eZV4fWDlnxvqTUjOU2Eqt LLPV4m0yggdsezRpK95wgdnqFRQQXzcLU4BrvjCYLSvu4L2DMv1S8J/d5eXgGsL/oIx2 Ze+ocqPwz+SoGd0PJAgjRPdyJHDuLPmTSsfWXuFf2B6zGqv9gyTQfEPXNvvy9vuGjyg9 SXIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1g/pVG3+0C9t9c2z1Y62UljZNgCTLa1pTAFn7rjHz2k=; b=YXu+NEh+RQgNEt0VHZzT23J+h3UAXzkkpINrGt31AewR4fbOQvfMP3INGCMj5cNTs3 4bZbNoO4Rc3O4cF9MLuAExXj3v5KagJAQtkC6QrXi/oEQA8hha9XrFzR52Tuzs/Wm11x pv1XH+FZ/UloChsuN4bOuineoFDUY6lXXURlEJxOO2fXs5DWrSfe92caN9Phr8mBVV0+ GZvZMqiXBOpXmgWq6CkKSfyDp+THVel9RyBTvn6fh6no/UCh2Tne5f1lo4B7zJ+dK90b K4eU8bydBHDsYhjxH6uuwmHTiSfJcxyQVl0DUkFgLHSsuesenX/ypLtrPML+bYf5Jgzi KNwg== X-Gm-Message-State: AJIora+OAXTVJs77vnYIbR3mbEgdyl8naSwgxud3TZeV8NBZpgVLSgTy /6cRDW05Tr8bcYdH3kj86SiIwSnVfZbVcyQYQoe/xHfypk0J88dU X-Google-Smtp-Source: AGRyM1utlUqynm3N9xB+Qc9U9FJB1cwwk2q4MSmu49EQqzJZ5idyqdPPdZt1+gHBkYRh9Di6cp2DF9zy1/tGq2iivII= X-Received: by 2002:ac8:5c0e:0:b0:31d:4bc6:1ed1 with SMTP id i14-20020ac85c0e000000b0031d4bc61ed1mr7889951qti.63.1656999562066; Mon, 04 Jul 2022 22:39:22 -0700 (PDT) MIME-Version: 1.0 From: Benjamin Gilbert Date: Tue, 5 Jul 2022 01:39:11 -0400 Message-ID: Subject: `cp --reflink=always` creates empty file on failure To: bug-coreutils@gnu.org Content-Type: multipart/alternative; boundary="0000000000004a51ec05e30846f1" Received-SPF: none client-ip=2607:f8b0:4864:20::835; envelope-from=bgilbert@backtick.net; helo=mail-qt1-x835.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 05 Jul 2022 04:15:49 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --0000000000004a51ec05e30846f1 Content-Type: text/plain; charset="UTF-8" Hi, When `cp --reflink=always` fails because the filesystem does not support reflinks, I'd expect it not to leave anything at the destination path. However, it appears to leave an empty file instead: $ ls -l total 0 $ echo "some data" > src $ cp --reflink=always src dest cp: failed to clone 'dest' from 'src': Operation not supported $ ls -l total 4 -rw-rw-r--. 1 bgilbert bgilbert 0 Jul 5 01:27 dest -rw-rw-r--. 1 bgilbert bgilbert 10 Jul 5 01:27 src I'm seeing this on both coreutils 9.0 (Fedora 36) and 9.1.31-fa332 built from Git. Best, --Benjamin Gilbert --0000000000004a51ec05e30846f1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

When `cp --reflink=3Dalw= ays` fails because the=20 filesystem does not support reflinks, I'd expect it not to leave=20 anything at the destination path.=C2=A0 However, it appears to leave an emp= ty file instead:

$ ls -l
total 0
$ echo "= some data" > src
$ cp --reflink=3Dalways src dest
cp: failed = to clone 'dest' from 'src': Operation not supported
$ ls= -l
total 4
-rw-rw-r--. 1 bgilbert bgilbert =C2=A00 Jul =C2=A05 01:27= dest
-rw-rw-r--. 1 bgilbert bgilbert 10 Jul =C2=A05 01:27 src
=

I'm seeing this on both coreutils 9.0 (Fedora 36) a= nd 9.1.31-fa332 built from Git.

Best,
--= Benjamin Gilbert

--0000000000004a51ec05e30846f1-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 05 08:26:06 2022 Received: (at control) by debbugs.gnu.org; 5 Jul 2022 12:26:06 +0000 Received: from localhost ([127.0.0.1]:49594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8hcw-00018O-5a for submit@debbugs.gnu.org; Tue, 05 Jul 2022 08:26:06 -0400 Received: from mail-qk1-f169.google.com ([209.85.222.169]:39735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8dwT-0005Db-Nn for control@debbugs.gnu.org; Tue, 05 Jul 2022 04:30:00 -0400 Received: by mail-qk1-f169.google.com with SMTP id o26so1083254qkl.6 for ; Tue, 05 Jul 2022 01:29:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=backtick-net.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=Rm/Sx17VubVIaDtugwa5+WxGrdFBzLzCi9G3ESu8+AE=; b=Z9pB8QL37/Oo31L0FbIanbtfyrC2baEiLUG0h2nWNV8b1O1qvSt0vLA57VTj7PVSSW eVyBwx/AMMONxt+VnenvFVrGRDaP0OtgPwauVTfRHsUklAkxp5o6a9YSZXcDWjZ3NkB6 Wm1YDWdcUfiS+qcvXifPb8Ul6XuyOj5kM+NfNHLYG9PmdcX9RHqZWuViMb6b9pXNJLbg c0xr6LRdG5Z7WCRv0r0oGhp9e1sxery4Cg2gq9K4yYQy5QhmkxKW6jJVObek9QaT8Mqx Hy36M8JwudoppFf9bKuUfE7IpTYfrcbJrf+gd67r3QmgvU4/V5DUPCI14yjHyNyHTFRI JVtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Rm/Sx17VubVIaDtugwa5+WxGrdFBzLzCi9G3ESu8+AE=; b=EkvsHMSKGOInifeZe3bUVwkP5e+XvLbmrjUz18ec9jcwY02NTrVDYZmJpnuNl6lh70 Q8Pn+KE6dSOmU64uVqXPz4bP4lcRnAvLJP9u+EiP6e2+X4ANe+EBaVzYv9/Qb3x5hO2M esWz1KtVn8DcnjcZa1I89Vw16vKjanep0gXU+XrBBAWF0JHdT5tCz3cvIe2QvjgELppr e4pd9c/k4NLyrv4ZjJRjIrlpfAMDLgfpjvIGa/s+lGCfcB0JFvQIOKealFjxRYdkTAuK ei/Bop+atbAdbUuJFFU9Ji7ctNDb0FOMkzt0YsKJRsLoQvaDsk1s/stsLzqEt/PhXNNC vMQg== X-Gm-Message-State: AJIora80j55eKjuBFnF/ErWSdnf+6PZlLJu/5wB1XZo1SVcQRBISVbpI svU+vWoXy09JNsJM197X+zejxjMFJEvKScjhFXTe/BAtzlUVDA== X-Google-Smtp-Source: AGRyM1uGPRtGz/1pgXbVyR6i2phkpeUl6xGnPKyj56lBMBS0yAt7uQBi5g6nDsYLylR45dWrXa9IAjv36tCPYebnJUo= X-Received: by 2002:a37:943:0:b0:6ae:db51:4ad4 with SMTP id 64-20020a370943000000b006aedb514ad4mr22424177qkj.16.1657009791860; Tue, 05 Jul 2022 01:29:51 -0700 (PDT) MIME-Version: 1.0 From: Benjamin Gilbert Date: Tue, 5 Jul 2022 04:29:41 -0400 Message-ID: Subject: To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: merge 56391 56392 thanks Whoops, double-posted. Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 SPF_NONE SPF: sender does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.222.169 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.222.169 listed in list.dnswl.org] 2.0 BLANK_SUBJECT Subject is present but empty -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Debbugs-Envelope-To: control X-Mailman-Approved-At: Tue, 05 Jul 2022 08:26:00 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) merge 56391 56392 thanks Whoops, double-posted. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 05 11:05:00 2022 Received: (at 56391-done) by debbugs.gnu.org; 5 Jul 2022 15:05:00 +0000 Received: from localhost ([127.0.0.1]:51253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8k6l-0007jh-TN for submit@debbugs.gnu.org; Tue, 05 Jul 2022 11:05:00 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:35098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o8k6i-0007jR-Rl for 56391-done@debbugs.gnu.org; Tue, 05 Jul 2022 11:04:58 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 602201600FC; Tue, 5 Jul 2022 08:04:50 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id YuF62begu5Cx; Tue, 5 Jul 2022 08:04:49 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9CBCB1600FD; Tue, 5 Jul 2022 08:04:49 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id UgAfhDhc0eLB; Tue, 5 Jul 2022 08:04:49 -0700 (PDT) Received: from [192.168.0.205] (ip72-206-2-24.fv.ks.cox.net [72.206.2.24]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 557051600FC; Tue, 5 Jul 2022 08:04:49 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------IvdoM2Jd0O33E06ch0EmOFui" Message-ID: <8edadd5f-a640-09ce-340f-71ea17e5ea02@cs.ucla.edu> Date: Tue, 5 Jul 2022 10:04:48 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: bug#56391: `cp --reflink=always` creates empty file on failure Content-Language: en-US To: Benjamin Gilbert References: From: Paul Eggert In-Reply-To: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56391-done Cc: 56391-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is a multi-part message in MIME format. --------------IvdoM2Jd0O33E06ch0EmOFui Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for reporting that. I installed the attached patch. --------------IvdoM2Jd0O33E06ch0EmOFui Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-don-t-create-empty-file-if-cannot-clone.patch" Content-Disposition: attachment; filename="0001-cp-don-t-create-empty-file-if-cannot-clone.patch" Content-Transfer-Encoding: base64 RnJvbSAwOGYxNGQ5NDkyZTM1MTg4YjdlZDg1ZWI1OWI3ZTYwNTI4NWQ4YjA5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDUgSnVsIDIwMjIgMDk6MzQ6MTcgLTA1MDAKU3ViamVjdDogW1BBVENI XSA9P1VURi04P3E/Y3A6PTIwZG9uPUUyPTgwPTk5dD0yMGNyZWF0ZT0yMGVtcHR5PTIwZmls ZT0yMGk/PQogPT9VVEYtOD9xP2Y9MjBjYW5ub3Q9MjBjbG9uZT89Ck1JTUUtVmVyc2lvbjog MS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIHNyYy9jb3B5LmMgKGNvcHlfcmVnKTogV2l0aCAt LXJlZmxpbms9YWx3YXlzLCBpZiBGSUNMT05FIGZhaWxzCm9uIGEgZmlsZSB3ZSBqdXN0IGNy ZWF0ZWQsIGNsZWFuIHVwIGJ5IHJlbW92aW5nIHRoZSBmaWxlIChCdWcjNTYzOTEpLgotLS0K IHNyYy9jb3B5LmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NyYy9jb3B5LmMgYi9zcmMvY29weS5jCmluZGV4IDBjMzY4ZDBlNC4u ZWFlZDE0OGI0IDEwMDY0NAotLS0gYS9zcmMvY29weS5jCisrKyBiL3NyYy9jb3B5LmMKQEAg LTEyNzksNiArMTI3OSw5IEBAIGNvcHlfcmVnIChjaGFyIGNvbnN0ICpzcmNfbmFtZSwgY2hh ciBjb25zdCAqZHN0X25hbWUsCiAgICAgICAgIHsKICAgICAgICAgICBlcnJvciAoMCwgZXJy bm8sIF8oImZhaWxlZCB0byBjbG9uZSAlcyBmcm9tICVzIiksCiAgICAgICAgICAgICAgICAg IHF1b3RlYWZfbiAoMCwgZHN0X25hbWUpLCBxdW90ZWFmX24gKDEsIHNyY19uYW1lKSk7Cisg ICAgICAgICAgaWYgKCpuZXdfZHN0ICYmIHVubGlua2F0IChkc3RfZGlyZmQsIGRzdF9yZWxu YW1lLCAwKSAhPSAwCisgICAgICAgICAgICAgICYmIGVycm5vICE9IEVOT0VOVCkKKyAgICAg ICAgICAgIGVycm9yICgwLCBlcnJubywgXygiY2Fubm90IHJlbW92ZSAlcyIpLCBxdW90ZWFm IChkc3RfbmFtZSkpOwogICAgICAgICAgIHJldHVybl92YWwgPSBmYWxzZTsKICAgICAgICAg ICBnb3RvIGNsb3NlX3NyY19hbmRfZHN0X2Rlc2M7CiAgICAgICAgIH0KLS0gCjIuMzYuMQoK --------------IvdoM2Jd0O33E06ch0EmOFui-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 06 07:17:32 2022 Received: (at 56391) by debbugs.gnu.org; 6 Jul 2022 11:17:32 +0000 Received: from localhost ([127.0.0.1]:52647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o932B-0002LM-Q9 for submit@debbugs.gnu.org; Wed, 06 Jul 2022 07:17:31 -0400 Received: from mail-wr1-f47.google.com ([209.85.221.47]:42928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o932A-0002Gp-5A for 56391@debbugs.gnu.org; Wed, 06 Jul 2022 07:17:30 -0400 Received: by mail-wr1-f47.google.com with SMTP id s1so21576517wra.9 for <56391@debbugs.gnu.org>; Wed, 06 Jul 2022 04:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=7YeZ8u/yMQYRQ4Ij3IVEsgOPzU8Xnw134XWy5M7eH0s=; b=mz2UgENrVVqsPzhJOKeBHahNg2xETklBVLhRZJaY9iwVEwgQx9WbTEJE8EFyjqtuoQ /yIALikmFcIGJ/IY//jW38XM7brlVM9UbgF9WWlI+3vMRLTJLWDbOB4GoTA4LmqNoMqm 8iyMA+nRMkV/5kRQsho8ZFSgvugBxOF/F7UO/AoVATEX9aaj4+YvkqwzwdAZtes6WOKh dLSyDaQT+9KNwc2tcSjiIY/LoOIR95ND8mA6oBqqsHS36r3Nr3IQYFEMx2M/hMNIh1eG BMANr928B+44peDVNmjgX3BXqbYhUU0JIzAatf64OUFTai+3SRM2AQyhewceGYX9i8YS LuLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=7YeZ8u/yMQYRQ4Ij3IVEsgOPzU8Xnw134XWy5M7eH0s=; b=sx3PffiOdOLl03fUzJH217I4hSK1Rdof+NF9/ywDQ/d70OlOqC731haYQwks9SNXoq DwArZ0okB22s1r67gDtjk/XxMqdlsVNpXSk7baek3lr7Oki3AjjPLc1ypYfx8Rq3yJaP 5eTq51bIbF5QuG1NHOnqSkLlgjv0l0CzGXfJHtT0F4qTqUIX0nUg2NwLjkf7p7EvDEck kzTlXCozdmcQJIm+NHyZGrHHCF1Yx8kkUOpDh2WO57vPjLJE/CLaj5xhtUFFaJCq8/2f QIWo2HEzCCZsM4kVY8lqm6LdTSwFy8yNUXMGTPJjnbxfxdS94vvN3xtNhY7h1dxlxo40 IXSQ== X-Gm-Message-State: AJIora/Usz6WcUmcpKrxl6QLD5TluhBs3U/hP4D2zPwd6wK8EBok4xta 8YlkMmZIZNgx5o/+nErGSWEZ35inAjc= X-Google-Smtp-Source: AGRyM1vpTupiMQ3W819UgC1+mvHlpcPdK853j86FkzG8fPE1+VcnLy94lPRxF0rXPfYNuvtyZNhelg== X-Received: by 2002:adf:e112:0:b0:21d:7195:3a8d with SMTP id t18-20020adfe112000000b0021d71953a8dmr8917440wrz.371.1657106244017; Wed, 06 Jul 2022 04:17:24 -0700 (PDT) Received: from [192.168.1.9] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id b15-20020adff90f000000b0021b90cc66a1sm35471085wrr.2.2022.07.06.04.17.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 06 Jul 2022 04:17:23 -0700 (PDT) Message-ID: <407528a6-0ee0-1404-0f6e-1b1b8dbcd779@draigBrady.com> Date: Wed, 6 Jul 2022 12:17:22 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Thunderbird/98.0 Subject: Re: bug#56391: `cp --reflink=always` creates empty file on failure Content-Language: en-US To: 56391@debbugs.gnu.org, eggert@cs.ucla.edu, bgilbert@backtick.net References: <8edadd5f-a640-09ce-340f-71ea17e5ea02@cs.ucla.edu> From: =?UTF-8?Q?P=c3=a1draig_Brady?= In-Reply-To: <8edadd5f-a640-09ce-340f-71ea17e5ea02@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 56391 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On 05/07/2022 16:04, Paul Eggert wrote: > Thanks for reporting that. I installed the attached patch. This will usually work, but there are cases where this may lose data, as previously discussed at: https://bugzilla.redhat.com/show_bug.cgi?id=921708 http://lists.gnu.org/archive/html/coreutils/2013-03/msg00056.html I'm not sure cp can robustly clean up in this situation? cheers, Pádraig From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 06 15:48:46 2022 Received: (at 56391) by debbugs.gnu.org; 6 Jul 2022 19:48:46 +0000 Received: from localhost ([127.0.0.1]:55234 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9B0w-0002dv-7i for submit@debbugs.gnu.org; Wed, 06 Jul 2022 15:48:46 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:54946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9B0r-0002de-Un for 56391@debbugs.gnu.org; Wed, 06 Jul 2022 15:48:44 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id CDAA31600CE; Wed, 6 Jul 2022 12:48:35 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id QKsM_yFZUezO; Wed, 6 Jul 2022 12:48:34 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id BC9151600D4; Wed, 6 Jul 2022 12:48:34 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id WXxkDeFQ_XNt; Wed, 6 Jul 2022 12:48:34 -0700 (PDT) Received: from [192.168.0.205] (ip72-206-2-24.fv.ks.cox.net [72.206.2.24]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 618F11600CE; Wed, 6 Jul 2022 12:48:34 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------DCSy60dHXRhEJg4OC0V8cLEt" Message-ID: <05ba0b87-b77f-a5a1-ac3f-872c02c53f9a@cs.ucla.edu> Date: Wed, 6 Jul 2022 14:48:33 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: bug#56391: `cp --reflink=always` creates empty file on failure Content-Language: en-US To: =?UTF-8?Q?P=c3=a1draig_Brady?= References: <8edadd5f-a640-09ce-340f-71ea17e5ea02@cs.ucla.edu> <407528a6-0ee0-1404-0f6e-1b1b8dbcd779@draigBrady.com> From: Paul Eggert In-Reply-To: <407528a6-0ee0-1404-0f6e-1b1b8dbcd779@draigBrady.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 56391 Cc: bgilbert@backtick.net, 56391@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is a multi-part message in MIME format. --------------DCSy60dHXRhEJg4OC0V8cLEt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 7/6/22 06:17, P=C3=A1draig Brady wrote: > This will usually work, but there are cases where this may lose data, > as previously discussed at: > > https://bugzilla.redhat.com/show_bug.cgi?id=3D921708 > http://lists.gnu.org/archive/html/coreutils/2013-03/msg00056.html > > I'm not sure cp can robustly clean up in this situation?=20 Thanks for pointing me to those old discussions. As I understand it, the=20 worry is that FICLONE will only partly succeed, causing the destination=20 file to contain some (but not all) the input data, and then if we remove=20 the output file we'll lose the newly-made partial clone. I don't know=20 whether FICLONE can do that, but it sounds like a reasonable worry. If that understanding is correct, then the attached further patch should=20 suffice, so I boldly installed it. --------------DCSy60dHXRhEJg4OC0V8cLEt Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-don-t-remove-nonempty-cloned-dest.patch" Content-Disposition: attachment; filename="0001-cp-don-t-remove-nonempty-cloned-dest.patch" Content-Transfer-Encoding: base64 RnJvbSAxMjNlZDJkZjRjMjNlMTJiMDhlMWQxODI0NWYzYTBiNDc1MDg0OTZmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDYgSnVsIDIwMjIgMTQ6Mjk6MTIgLTA1MDAKU3ViamVjdDogW1BBVENI XSA9P1VURi04P3E/Y3A6PTIwZG9uPUUyPTgwPTk5dD0yMHJlbW92ZT0yMG5vbmVtcHR5PTIw Y2xvbmU/PQogPT9VVEYtOD9xP2Q9MjBkZXN0Pz0KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClRoaXMgZm9sbG93cyB1cCBvbiBjb21tZW50cyBieSBQw6FkcmFpZyBC cmFkeSAoYnVnIzU2MzkxKS4KKiBzcmMvY29weS5jIChjb3B5X3JlZyk6IFdoZW4gLS1yZWZs aW5rPWFsd2F5cyByZW1vdmVzIGEgZmlsZQpkdWUgdG8gYW4gRklDTE9ORSBmYWlsdXJlLCBk byBub3QgcmVtb3ZlIGEgbm9uZW1wdHkgZmlsZS4KLS0tCiBORVdTICAgICAgIHwgIDMgKysr CiBzcmMvY29weS5jIHwgMTIgKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MK aW5kZXggYTNhNTU1NDFlLi5iNGUzY2Y4M2EgMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVX UwpAQCAtMTgsNiArMTgsOSBAQCBHTlUgY29yZXV0aWxzIE5FV1MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0KIAogKiogQ2hhbmdlcyBpbiBi ZWhhdmlvcgogCisgICdjcCAtLXJlZmxpbms9YWx3YXlzIEEgQicgbm8gbG9uZ2VyIGxlYXZl cyBiZWhpbmQgYSBuZXdseSBjcmVhdGVkCisgIGVtcHR5IGZpbGUgQiBtZXJlbHkgYmVjYXVz ZSBjb3B5LW9uLXdyaXRlIGNsb25lcyBhcmUgbm90IHN1cHBvcnRlZC4KKwogICAnbHMgLXYn IGFuZCAnc29ydCAtVicgZ28gYmFjayB0byBzb3J0aW5nICIuMCIgYmVmb3JlICIuQSIsCiAg IHJldmVydGluZyB0byB0aGUgYmVoYXZpb3IgaW4gY29yZXV0aWxzLTkuMCBhbmQgZWFybGll ci4KICAgVGhpcyBiZWhhdmlvciBpcyBub3cgZG9jdW1lbnRlZC4KZGlmZiAtLWdpdCBhL3Ny Yy9jb3B5LmMgYi9zcmMvY29weS5jCmluZGV4IGVhZWQxNDhiNC4uZTQ2NTI3MWVmIDEwMDY0 NAotLS0gYS9zcmMvY29weS5jCisrKyBiL3NyYy9jb3B5LmMKQEAgLTEyNzksOSArMTI3OSwx NyBAQCBjb3B5X3JlZyAoY2hhciBjb25zdCAqc3JjX25hbWUsIGNoYXIgY29uc3QgKmRzdF9u YW1lLAogICAgICAgICB7CiAgICAgICAgICAgZXJyb3IgKDAsIGVycm5vLCBfKCJmYWlsZWQg dG8gY2xvbmUgJXMgZnJvbSAlcyIpLAogICAgICAgICAgICAgICAgICBxdW90ZWFmX24gKDAs IGRzdF9uYW1lKSwgcXVvdGVhZl9uICgxLCBzcmNfbmFtZSkpOwotICAgICAgICAgIGlmICgq bmV3X2RzdCAmJiB1bmxpbmthdCAoZHN0X2RpcmZkLCBkc3RfcmVsbmFtZSwgMCkgIT0gMAot ICAgICAgICAgICAgICAmJiBlcnJubyAhPSBFTk9FTlQpCisKKyAgICAgICAgICAvKiBSZW1v dmUgdGhlIGRlc3RpbmF0aW9uIGlmIGNwIC0tcmVmbGluaz1hbHdheXMgY3JlYXRlZCBpdAor ICAgICAgICAgICAgIGJ1dCBjbG9uZWQgbm8gZGF0YS4gIElmIGNsb25lX2ZpbGUgZmFpbGVk IHdpdGgKKyAgICAgICAgICAgICBFT1BOT1RTVVBQLCBFWERFViBvciBFSU5WQUwgbm8gZGF0 YSB3ZXJlIGNvcGllZCBzbyBkbyBub3QKKyAgICAgICAgICAgICBnbyB0byB0aGUgZXhwZW5z ZSBvZiBsc2Vla2luZy4gICovCisgICAgICAgICAgaWYgKCpuZXdfZHN0CisgICAgICAgICAg ICAgICYmIChpc19FTk9UU1VQIChlcnJubykgfHwgZXJybm8gPT0gRVhERVYgfHwgZXJybm8g PT0gRUlOVkFMCisgICAgICAgICAgICAgICAgICB8fCBsc2VlayAoZGVzdF9kZXNjLCAwLCBT RUVLX0VORCkgPT0gMCkKKyAgICAgICAgICAgICAgJiYgdW5saW5rYXQgKGRzdF9kaXJmZCwg ZHN0X3JlbG5hbWUsIDApICE9IDAgJiYgZXJybm8gIT0gRU5PRU5UKQogICAgICAgICAgICAg ZXJyb3IgKDAsIGVycm5vLCBfKCJjYW5ub3QgcmVtb3ZlICVzIiksIHF1b3RlYWYgKGRzdF9u YW1lKSk7CisKICAgICAgICAgICByZXR1cm5fdmFsID0gZmFsc2U7CiAgICAgICAgICAgZ290 byBjbG9zZV9zcmNfYW5kX2RzdF9kZXNjOwogICAgICAgICB9Ci0tIAoyLjM2LjEKCg== --------------DCSy60dHXRhEJg4OC0V8cLEt-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 07 11:39:57 2022 Received: (at 56391) by debbugs.gnu.org; 7 Jul 2022 15:39:57 +0000 Received: from localhost ([127.0.0.1]:57661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9Tbg-0006je-S1 for submit@debbugs.gnu.org; Thu, 07 Jul 2022 11:39:57 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:37597) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o9Tbc-0006jF-Kt; Thu, 07 Jul 2022 11:39:55 -0400 Received: by mail-wr1-f45.google.com with SMTP id n10so1581970wrc.4; Thu, 07 Jul 2022 08:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=7uSyzsVmPRatKjxWS6B/4M60JZUA6Uwyr74wsuq1yDI=; b=n0LgW6xj0m/PuMn6P/VM+gq4xcj402Igjx9k9R/NddHa5pQK5e6OmBt9xln8pXxCgS PyK/D0Oh9OqVQ/EByfjCjZyvOFFnp0iHKp0nBuOc33+HrdFwB0MyvBDL9+yBaXoqZ8J2 Ztrf7TPRpwmRUmvM8mZmMDJgSiy2Ovxzx06cNx4tjlx4ihfY+akVQGs9PhrTpeC7bG0L 8Ctl9lvjelHM6I02Xrrw/kBiMv5eUS8X4LyzCScQL9YV8Qh8IDI8OEUMXF9+oab1gYYR Pvy0FoXTIxkcOGjQrCZWgE2UXvBi2lZNyfAO2QH/rIIdcRSoyRt93HIOk7XxrkqtQD/n yGzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=7uSyzsVmPRatKjxWS6B/4M60JZUA6Uwyr74wsuq1yDI=; b=nKH8/xRGSs2R/ECJeDUayBHwTNsihbZi1/US2LkYlUjWrm9Js2rAitHoGaEufdBoVO CGHpJbk1OoLskK53u1uwJ3l5JgiFZSDouWm29TY1L+7ltFL3/NgN8+4kLRyNdLAoUeus 7nvNVeleZcsYa+uMiicWJW367auDLFsEuWEgJwZJoxnd1BiThrvQv5NvZJegmQ2TghlP mwVPCy2L7lgIL0ZHapv7aRy8xqJMmypNAJJE+l46XEicaODPdO7dcwYhmJBoEWI6xe8i 5VhSJ4tJd1LktyBw4q1NP35nDmfedoOn8uPmDnffHZESNBajmnvDeT+4F8MqMLuc0+Vc ggSw== X-Gm-Message-State: AJIora/cFBDTFhj3qj6tN6JpI8gTKsddh5WKs2AN5yMhVbKuQJhKW8Ru EWMl1p5E/WvvKbdyGPidrl8= X-Google-Smtp-Source: AGRyM1tIn9GQo3MRbbpOBrui9L3ztXRo0T7915Oj0xdgvmPGqW6ZvVR921a+L+RZuUItuEbbiUnatw== X-Received: by 2002:adf:f5c7:0:b0:21d:7f20:7508 with SMTP id k7-20020adff5c7000000b0021d7f207508mr8064308wrp.458.1657208386547; Thu, 07 Jul 2022 08:39:46 -0700 (PDT) Received: from [192.168.1.9] (95-44-90-175-dynamic.agg2.lod.rsl-rtd.eircom.net. [95.44.90.175]) by smtp.googlemail.com with ESMTPSA id q63-20020a1c4342000000b003973c54bd69sm26188898wma.1.2022.07.07.08.39.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 07 Jul 2022 08:39:45 -0700 (PDT) Message-ID: Date: Thu, 7 Jul 2022 16:39:44 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Thunderbird/98.0 Subject: Re: bug#56391: `cp --reflink=always` creates empty file on failure Content-Language: en-US To: Paul Eggert References: <8edadd5f-a640-09ce-340f-71ea17e5ea02@cs.ucla.edu> <407528a6-0ee0-1404-0f6e-1b1b8dbcd779@draigBrady.com> <05ba0b87-b77f-a5a1-ac3f-872c02c53f9a@cs.ucla.edu> From: =?UTF-8?Q?P=c3=a1draig_Brady?= In-Reply-To: <05ba0b87-b77f-a5a1-ac3f-872c02c53f9a@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 56391 Cc: bgilbert@backtick.net, Fridolin Pokorny , 56391@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) forcemerge 56391 56392 close 56391 stop On 06/07/2022 20:48, Paul Eggert wrote: > On 7/6/22 06:17, Pádraig Brady wrote: >> This will usually work, but there are cases where this may lose data, >> as previously discussed at: >> >> https://bugzilla.redhat.com/show_bug.cgi?id=921708 >> http://lists.gnu.org/archive/html/coreutils/2013-03/msg00056.html >> >> I'm not sure cp can robustly clean up in this situation? > > Thanks for pointing me to those old discussions. As I understand it, the > worry is that FICLONE will only partly succeed, causing the destination > file to contain some (but not all) the input data, and then if we remove > the output file we'll lose the newly-made partial clone. I don't know > whether FICLONE can do that, but it sounds like a reasonable worry. > > If that understanding is correct, then the attached further patch should > suffice, so I boldly installed it. Yes that's better thanks. The code looks good, and should cater for any issues within a single cp instance. As for overlapping processes accessing a file, this may introduce new edge cases for where a file will be deleted. But I don't see a specific issue with that, given there are existing truncation races etc. with overlapping access to a file. I haven't thought through all scenarios TBH. marking this as done. thanks! Pádraig From unknown Sat Sep 20 05:29:21 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 05 Aug 2022 11:24:14 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator