From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Jeremy Allison Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 19 Aug 2025 02:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 79267@debbugs.gnu.org, jallison@ciq.com, hvanderwal@ciq.com X-Debbugs-Original-To: bug-coreutils@gnu.org, Jeremy Allison , Howard Van Der Wal Received: via spool by submit@debbugs.gnu.org id=B.175557109711570 (code B ref -1); Tue, 19 Aug 2025 02:39:02 +0000 Received: (at submit) by debbugs.gnu.org; 19 Aug 2025 02:38:17 +0000 Received: from localhost ([127.0.0.1]:51976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uoCEp-00030U-9I for submit@debbugs.gnu.org; Mon, 18 Aug 2025 22:38:17 -0400 Received: from lists.gnu.org ([2001:470:142::17]:39778) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uo7MZ-0003DA-GF for submit@debbugs.gnu.org; Mon, 18 Aug 2025 17:25:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uo7MT-0006Fl-Fy for bug-coreutils@gnu.org; Mon, 18 Aug 2025 17:25:49 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uo7MR-000207-Ej for bug-coreutils@gnu.org; Mon, 18 Aug 2025 17:25:49 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-b47475cf8eeso915504a12.3 for ; Mon, 18 Aug 2025 14:25:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ciq.com; s=s1; t=1755552345; x=1756157145; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=WMxLu2EWbNs+Z+k8HS9hZXe/KFnaBtcyfU9bBhtnYms=; b=WKt4Dqo4C/YZS3Ljt1f7v0b/6cax3mmEB1h2tKZbTKe4ChUPdSG2pIO80p0sTny+RQ Xf2anFHewM4OYFwS/rTN7O2ZcvFkLczFGulny1MNeLMpod+oIMAy0710ZSdYuGRrbelA Ku/d4PMYxL0fo5FWpl8yCOTKGawNvV9iVrmWuBtqh69lQrGwCiezQPHaUhNZTnIcNyAY fJXPOnF/bKP/6qpqH0gHgOawIiSrRvtBsJG3O/coEZVJsPz2le+Dcdxd4iPhUlXUgjtc f6Tf/yjozyU0CRDXQ+crUwXxIfGRy2D0JkBfOXcOA+btwkiqZfvNetgdZIwWpHQIrQkD 6vdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755552345; x=1756157145; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=WMxLu2EWbNs+Z+k8HS9hZXe/KFnaBtcyfU9bBhtnYms=; b=HK5ddVhTAFoY03alTQB2z25OqxySfwdJgikB5dD3+4CgyaDeT0C0o+0fzj6bp2Ey16 tyLH+HXFhPrqY/oaFrZDyL74WwH9IMp5NCj90C3DIf04A8z84Izh49e09F9onIGM00LB R9MTHsch5a4syq/X66gQMfaYjKHuW7dE4qkVHGGk0ntWfyPTjGyewWesFSIodOYLlQVW bVjjnj3RUkmyRk0j0saoG4o61IBXmiiU0sJ+yZiVQuhFiUqeaZzEwe5cJ2HxV5Q4Mmvy dGgvEtqN5Trj1Q1ypexuMsU4nZAszYHtZqhghMuAhh8omQ8ALM1aTRwZ690XKZNOA2p1 zXxA== X-Gm-Message-State: AOJu0YzpptMR3jog/5SWx2utS3TysyTUYCJkoDz/T5up3+cvqI6hoWRu u8I1En4Kko3pTWQ2rZ/KEsoRu/9lQaJgARw7hP8AbhKmLmtAmzSjiEJ//i1WhzlND/LTaJtMQ55 l3rE63YRLLr71JBknO55aImvRcrSyuTe0ZanX9Qn9PyLb4rxYKlO0dmc= X-Gm-Gg: ASbGncsvpMXG3yP8yfym8PKWXEdx+RfHU0Mmprw1aHm303nhliJrL5+xwgI5QefGKdF NhYwutaBoGdfoZ4rM2Kb5R0fT6LwNnsL8uDG6IZ1ZQxqyklbOmNiV6JgEnYPUlRiGFWvwhrJ5dP aeLWYeaPJkA8SCmCEZ3L/FgZ4xdlGDS9IKcvVPjGssv9WOSZU4p+vxH0FBISDDiVhEIYJOzyInD 6NUHw== X-Google-Smtp-Source: AGHT+IEmp34VMRZI4TFWtTOSuJIxNNLM7KIXOTEjXR3VMdpxyNhzIxvTUySE7bsKKMoRwWZMmTIr622FM8BCR2sM7GQ= X-Received: by 2002:a17:903:144f:b0:240:22af:91c7 with SMTP id d9443c01a7336-245e02db23dmr1650945ad.14.1755552345166; Mon, 18 Aug 2025 14:25:45 -0700 (PDT) MIME-Version: 1.0 From: Jeremy Allison Date: Mon, 18 Aug 2025 14:25:32 -0700 X-Gm-Features: Ac12FXyRb6eynMgGQjs-llyGdiiioyQ1IGjpI_yOOl8C010aCiL2dyK7_tvDr1Q Message-ID: Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=jallison@ciq.com; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Mailman-Approved-At: Mon, 18 Aug 2025 22:38:14 -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: -0.0 (/) It turns out that: lseek(3, 0, SEEK_HOLE) returns end-of-file for a sparse file copied from a Linux squashfs mounted drive. This breaks the --sparse=auto heuristic that detects a sparse file. I have a fix for you to consider. To reproduce: First, create a squashfs drive containing a file output_file.bin. mkdir squashfs-root cd squashfs-root Then run the following script mkhole.sh: -------------------------------------------------------------- #!/bin/bash OUTPUT="output_file.bin" # Remove file if it exists rm -f "$OUTPUT" # Write 4KB of 'A' dd if=<(yes A | tr -d '\n' | head -c 4096) of="$OUTPUT" bs=4096 count=1 # Create a 4k*100 hole followed by 4KB of zeros dd if=/dev/zero of="$OUTPUT" bs=4096 count=1 seek=101 # Write another 4KB of 'A' after the hole (overwriting the 4k of zeros) dd if=<(yes A | tr -d '\n' | head -c 4096) of="$OUTPUT" bs=4096 count=1 seek=101 -------------------------------------------------------------- Now create the mysquashfs.img file to mount: cd .. mksquashfs squashfs-root mysquashfs.img sudo mount -o loop mysquashfs.img /mnt Check that /mnt/output_file.bin is sparse: ls -lh /mnt/output_file.bin du -sh /mnt/output_file.bin (the second value should be less). Now use a newly built cp command from coreutils to copy this file to a local filesystem. mkdir ~/tmp cd ~/tmp ~/src/coreutils/src/cp --reflink=never /mnt/output_file.bin nonsparse Even though --sparse=auto and the file is sparse, it is not detected as such. This can be confirmed by running: strace ~/src/coreutils/src/cp --reflink=never /mnt/output_file.bin nonsparse and you will see: lseek(3, 0, SEEK_DATA) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 lseek(3, 0, SEEK_HOLE) = 417792 The following diff fixes this for me, and still passes "make check". diff --git a/src/copy.c b/src/copy.c index 77f0c561e..91136cd7c 100644 --- a/src/copy.c +++ b/src/copy.c @@ -592,7 +592,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size, else if (sparse_mode != SPARSE_NEVER) { if (! create_hole (dest_fd, dst_name, - sparse_mode == SPARSE_ALWAYS, + sparse_mode != SPARSE_NEVER, ext_hole_size)) return false; } @@ -621,7 +621,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size, if ( ! sparse_copy (src_fd, dest_fd, abuf, buf_size, true, allow_reflink, src_name, dst_name, ext_len, - sparse_mode == SPARSE_ALWAYS ? hole_size : nullptr, + sparse_mode != SPARSE_NEVER ? hole_size : nullptr, &n_read)) return false; @@ -1576,7 +1576,7 @@ copy_reg (char const *src_name, char const *dst_name, : #endif sparse_copy (source_desc, dest_desc, &buf, buf_size, - x->sparse_mode == SPARSE_ALWAYS, + x->sparse_mode != SPARSE_NEVER, x->reflink_mode != REFLINK_NEVER, src_name, dst_name, UINTMAX_MAX, make_holes ? &hole_size : nullptr, &n_read))) Thanks ! Jeremy Allison, CIQ Inc. From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 21 Aug 2025 23:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jeremy Allison Cc: 79267@debbugs.gnu.org, hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.17558174235464 (code B ref 79267); Thu, 21 Aug 2025 23:04:02 +0000 Received: (at 79267) by debbugs.gnu.org; 21 Aug 2025 23:03:43 +0000 Received: from localhost ([127.0.0.1]:33450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upEJr-0001Q4-6T for submit@debbugs.gnu.org; Thu, 21 Aug 2025 19:03:43 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:49232) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upEJo-0001Pn-PV for 79267@debbugs.gnu.org; Thu, 21 Aug 2025 19:03:42 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 5AA3E3C0149F1; Thu, 21 Aug 2025 16:03:34 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id j-G_3zjWwROF; Thu, 21 Aug 2025 16:03:34 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 30FD53C2C22D4; Thu, 21 Aug 2025 16:03:34 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 30FD53C2C22D4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755817414; bh=F5AvzqZLxC8/SyWOc+ojCaXqYMub7JnfP9bZHcEj2/s=; h=Message-ID:Date:MIME-Version:To:From; b=CLk2l43h/SkQOhXpoXbjqVpYBqr4XejunFbxbGKH3q22uzfiVzXmcJmS2Pv9naqPi vJr6tT2cvm3zMtoihV4bIfwHym/4xEH7Fxk8I9VwWRFJ/Lyi+M5VuDY+2nhKrlkSoH OMvM/JrnQsl5EUZTadf0Sn4S9SmqfkvCd9C6RK4d+Yc6SFqpOJAMdbqgIEV9jjpNyQ fP1dnvBF543NRdrAusfYaXyCttjgVthhf6C3z/K9ce5QkE7Vt5l5Rlh2r7BkWWUAGf wdpbXP9TYXmzNhr3ng34zhcqLCqfoyyL0FWl/2PNKemWwho8Oqx5OOepLigCln2tCz 2l98TZy4RZ9nQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id m_nJTYPwgZZW; Thu, 21 Aug 2025 16:03:34 -0700 (PDT) Received: from [10.10.33.175] (unknown [96.69.135.29]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id CF2F83C0149F1; Thu, 21 Aug 2025 16:03:33 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------DOut60zi9EWu5vgUfPJDAKWR" Message-ID: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> Date: Thu, 21 Aug 2025 17:03:32 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: en-US From: Paul Eggert In-Reply-To: X-Spam-Score: 0.0 (/) 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 (-) This is a multi-part message in MIME format. --------------DOut60zi9EWu5vgUfPJDAKWR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the bug report. Although this part of the code is messy and needs a revamp, in the meantime I installed the attached into the master branch on Savannah; please give it a try. --------------DOut60zi9EWu5vgUfPJDAKWR Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-always-punch-holes-that-we-make.patch" Content-Disposition: attachment; filename="0001-cp-always-punch-holes-that-we-make.patch" Content-Transfer-Encoding: base64 RnJvbSBiN2ZjNzYyNjliYmM4MzBiZjk2MzIwY2Q1Y2NhM2NmZDkwZDMzZjY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDIxIEF1ZyAyMDI1IDE2OjAyOjEwIC0wNjAwClN1YmplY3Q6IFtQQVRD SF0gY3A6IGFsd2F5cyBwdW5jaCBob2xlcyB0aGF0IHdlIG1ha2UKClByb2JsZW0gcmVwb3J0 ZWQgYnkgSmVyZW15IEFsbGlzb24gPGh0dHBzOi8vYnVncy5nbnUub3JnLzc5MjY3Pi4KKiBz cmMvY29weS5jIChjcmVhdGVfaG9sZSwgc3BhcnNlX2NvcHkpOiBPbWl0IGFyZyBQVU5DSF9I T0xFUywKYXMgd2UgYWx3YXlzIHB1bmNoIGhvbGVzIG5vdy4gIEFsbCB1c2VzIGNoYW5nZWQu Cihsc2Vla19jb3B5KTogV2hlbiBjYWxsaW5nIHNwYXJzZV9jb3B5LCBzY2FuIGZvciBob2xl cyB3aGVuCnNwYXJzZV9tb2RlID09IFNQQVJTRV9BVVRPLCBhcyB0aGF0IG1lYW5zIHdlIGFy ZSBtYWtpbmcgaG9sZXMuCihjb3B5X3JlZyk6IEFsd2F5cyBwdW5jaCBhbnkgaG9sZSBtYWRl IGF0IGVuZC4KLS0tCiBzcmMvY29weS5jIHwgMjEgKysrKysrKystLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvY29weS5jIGIvc3JjL2NvcHkuYwppbmRleCA3N2YwYzU2MWUuLmUzMjhi ZDg4NiAxMDA2NDQKLS0tIGEvc3JjL2NvcHkuYworKysgYi9zcmMvY29weS5jCkBAIC0yNTMs MTIgKzI1MywxMSBAQCBwdW5jaF9ob2xlIChpbnQgZmQsIG9mZl90IG9mZnNldCwgb2ZmX3Qg bGVuZ3RoKQogfQogCiAvKiBDcmVhdGUgYSBob2xlIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUg d2l0aCBkZXNjcmlwdG9yIEZEIGFuZCBuYW1lIE5BTUUuCi0gICBJZiBQVU5DSF9IT0xFUywg YXZvaWQgcHJlYWxsb2NhdGlvbiBpZiByZXF1ZXN0ZWQuCiAgICBUaGUgaG9sZSBpcyBvZiBz aXplIFNJWkUuICBBc3N1bWUgRkQgaXMgYWxyZWFkeSBhdCBmaWxlIGVuZCwKICAgIGFuZCBh ZHZhbmNlIEZEIHBhc3QgdGhlIG5ld2x5LWNyZWF0ZWQgaG9sZS4gICovCiAKIHN0YXRpYyBi b29sCi1jcmVhdGVfaG9sZSAoaW50IGZkLCBjaGFyIGNvbnN0ICpuYW1lLCBib29sIHB1bmNo X2hvbGVzLCBvZmZfdCBzaXplKQorY3JlYXRlX2hvbGUgKGludCBmZCwgY2hhciBjb25zdCAq bmFtZSwgb2ZmX3Qgc2l6ZSkKIHsKICAgb2ZmX3QgZmlsZV9lbmQgPSBsc2VlayAoZmQsIHNp emUsIFNFRUtfQ1VSKTsKIApAQCAtMjcyLDcgKzI3MSw3IEBAIGNyZWF0ZV9ob2xlIChpbnQg ZmQsIGNoYXIgY29uc3QgKm5hbWUsIGJvb2wgcHVuY2hfaG9sZXMsIG9mZl90IHNpemUpCiAg ICAgIEkuZS4sIGEgcHJldmlvdXMgd3JpdGUoKSBtYXkgaGF2ZSBwcmVhbGxvY2F0ZWQgZXh0 cmEgc3BhY2UKICAgICAgdGhhdCB0aGUgc2VlayBhYm92ZSB3aWxsIG5vdCBkaXNjYXJkLiAg QSBzdWJzZXF1ZW50IHdyaXRlKCkgY291bGQKICAgICAgdGhlbiBtYWtlIHRoaXMgYWxsb2Nh dGlvbiBwZXJtYW5lbnQuICAqLwotICBpZiAocHVuY2hfaG9sZXMgJiYgcHVuY2hfaG9sZSAo ZmQsIGZpbGVfZW5kIC0gc2l6ZSwgc2l6ZSkgPCAwKQorICBpZiAocHVuY2hfaG9sZSAoZmQs IGZpbGVfZW5kIC0gc2l6ZSwgc2l6ZSkgPCAwKQogICAgIHsKICAgICAgIGVycm9yICgwLCBl cnJubywgXygiZXJyb3IgZGVhbGxvY2F0aW5nICVzIiksIHF1b3RlYWYgKG5hbWUpKTsKICAg ICAgIHJldHVybiBmYWxzZTsKQEAgLTMxMSw3ICszMTAsNiBAQCBpc19DTE9ORU5PVFNVUCAo aW50IGVycikKICAgIGhvbm9yaW5nIHRoZSBNQUtFX0hPTEVTIHNldHRpbmcgYW5kIHVzaW5n IHRoZSBCVUZfU0laRS1ieXRlIGJ1ZmZlcgogICAgKkFCVUYgZm9yIHRlbXBvcmFyeSBzdG9y YWdlLCBhbGxvY2F0aW5nIGl0IGxhemlseSBpZiAqQUJVRiBpcyBudWxsLgogICAgRm9yIGJl c3QgcmVzdWx0cywgKkFCVUYgc2hvdWxkIGJlIHdlbGwtYWxpZ25lZC4KLSAgIElmIFBVTkNI X0hPTEVTLCBwdW5jaCBob2xlcyBpbiB0aGUgb3V0cHV0LgogICAgQ29weSBubyBtb3JlIHRo YW4gTUFYX05fUkVBRCBieXRlcy4KICAgIElmIEhPTEVfU0laRSwgbG9vayBmb3IgaG9sZXMg aW4gdGhlIGlucHV0OyAqSE9MRV9TSVpFIGNvbnRhaW5zCiAgICB0aGUgc2l6ZSBvZiB0aGUg Y3VycmVudCBob2xlIHNvIGZhciwgYW5kIHVwZGF0ZSAqSE9MRV9TSVpFCkBAIC0zMjIsNyAr MzIwLDcgQEAgaXNfQ0xPTkVOT1RTVVAgKGludCBlcnIpCiAgICBwcmludCBhIGRpYWdub3N0 aWMgYW5kIHJldHVybiBmYWxzZSB1cG9uIGVycm9yLiAgKi8KIHN0YXRpYyBib29sCiBzcGFy c2VfY29weSAoaW50IHNyY19mZCwgaW50IGRlc3RfZmQsIGNoYXIgKiphYnVmLCBzaXplX3Qg YnVmX3NpemUsCi0gICAgICAgICAgICAgYm9vbCBwdW5jaF9ob2xlcywgYm9vbCBhbGxvd19y ZWZsaW5rLAorICAgICAgICAgICAgIGJvb2wgYWxsb3dfcmVmbGluaywKICAgICAgICAgICAg ICBjaGFyIGNvbnN0ICpzcmNfbmFtZSwgY2hhciBjb25zdCAqZHN0X25hbWUsCiAgICAgICAg ICAgICAgdWludG1heF90IG1heF9uX3JlYWQsIG9mZl90ICpob2xlX3NpemUsIG9mZl90ICp0 b3RhbF9uX3JlYWQpCiB7CkBAIC00MzcsNyArNDM1LDcgQEAgc3BhcnNlX2NvcHkgKGludCBz cmNfZmQsIGludCBkZXN0X2ZkLCBjaGFyICoqYWJ1Ziwgc2l6ZV90IGJ1Zl9zaXplLAogICAg ICAgICAgICAgICAgIHBzaXplICs9IGNzaXplOwogICAgICAgICAgICAgICBlbHNlIGlmIChw cmV2X2hvbGUpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgaWYgKCEg Y3JlYXRlX2hvbGUgKGRlc3RfZmQsIGRzdF9uYW1lLCBwdW5jaF9ob2xlcywgcHNpemUpKQor ICAgICAgICAgICAgICAgICAgaWYgKCEgY3JlYXRlX2hvbGUgKGRlc3RfZmQsIGRzdF9uYW1l LCBwc2l6ZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg ICAgICAgICAgIHBidWYgPSBjYnVmOwogICAgICAgICAgICAgICAgICAgcHNpemUgPSBjc2l6 ZTsKQEAgLTU5MSw5ICs1ODksNyBAQCBsc2Vla19jb3B5IChpbnQgc3JjX2ZkLCBpbnQgZGVz dF9mZCwgY2hhciAqKmFidWYsIHNpemVfdCBidWZfc2l6ZSwKICAgICAgICAgICAgICpob2xl X3NpemUgKz0gZXh0X2hvbGVfc2l6ZTsKICAgICAgICAgICBlbHNlIGlmIChzcGFyc2VfbW9k ZSAhPSBTUEFSU0VfTkVWRVIpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGlmICgh IGNyZWF0ZV9ob2xlIChkZXN0X2ZkLCBkc3RfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNwYXJzZV9tb2RlID09IFNQQVJTRV9BTFdBWVMsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBleHRfaG9sZV9zaXplKSkKKyAgICAgICAgICAgICAg aWYgKCEgY3JlYXRlX2hvbGUgKGRlc3RfZmQsIGRzdF9uYW1lLCBleHRfaG9sZV9zaXplKSkK ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAg ICAgZWxzZQpAQCAtNjE5LDkgKzYxNSw5IEBAIGxzZWVrX2NvcHkgKGludCBzcmNfZmQsIGlu dCBkZXN0X2ZkLCBjaGFyICoqYWJ1Ziwgc2l6ZV90IGJ1Zl9zaXplLAogICAgICAgICAgaXMg Y29uc2VydmF0aXZlIGFuZCBtYXkgbWlzcyBzb21lIGhvbGVzLiAgKi8KICAgICAgIG9mZl90 IG5fcmVhZDsKICAgICAgIGlmICggISBzcGFyc2VfY29weSAoc3JjX2ZkLCBkZXN0X2ZkLCBh YnVmLCBidWZfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgYWxsb3df cmVmbGluaywgc3JjX25hbWUsIGRzdF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg ICBhbGxvd19yZWZsaW5rLCBzcmNfbmFtZSwgZHN0X25hbWUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIGV4dF9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNwYXJzZV9t b2RlID09IFNQQVJTRV9BTFdBWVMgPyBob2xlX3NpemUgOiBudWxscHRyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICBzcGFyc2VfbW9kZSAhPSBTUEFSU0VfTkVWRVIgPyBob2xlX3Np emUgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmbl9yZWFkKSkKICAg ICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xNTc2LDcgKzE1NzIsNiBAQCBjb3B5X3JlZyAo Y2hhciBjb25zdCAqc3JjX25hbWUsIGNoYXIgY29uc3QgKmRzdF9uYW1lLAogICAgICAgICAg ICAgIDoKICNlbmRpZgogICAgICAgICAgICAgICAgc3BhcnNlX2NvcHkgKHNvdXJjZV9kZXNj LCBkZXN0X2Rlc2MsICZidWYsIGJ1Zl9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHgtPnNwYXJzZV9tb2RlID09IFNQQVJTRV9BTFdBWVMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeC0+cmVmbGlua19tb2RlICE9IFJFRkxJTktfTkVWRVIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3JjX25hbWUsIGRzdF9uYW1lLCBVSU5UTUFYX01BWCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlX2hvbGVzID8gJmhvbGVfc2l6ZSA6 IG51bGxwdHIsICZuX3JlYWQpKSkKQEAgLTE1OTQsNyArMTU4OSw3IEBAIGNvcHlfcmVnIChj aGFyIGNvbnN0ICpzcmNfbmFtZSwgY2hhciBjb25zdCAqZHN0X25hbWUsCiAgICAgICAgICAg ICAgIHJldHVybl92YWwgPSBmYWxzZTsKICAgICAgICAgICAgICAgZ290byBjbG9zZV9zcmNf YW5kX2RzdF9kZXNjOwogICAgICAgICAgICAgfQotICAgICAgICAgIGlmICh4LT5zcGFyc2Vf bW9kZSA9PSBTUEFSU0VfQUxXQVlTCisgICAgICAgICAgaWYgKG1ha2VfaG9sZXMKICAgICAg ICAgICAgICAgJiYgcHVuY2hfaG9sZSAoZGVzdF9kZXNjLCBuX3JlYWQgLSBob2xlX3NpemUs IGhvbGVfc2l6ZSkgPCAwKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBlcnJvciAo MCwgZXJybm8sIF8oImVycm9yIGRlYWxsb2NhdGluZyAlcyIpLCBxdW90ZWFmIChkc3RfbmFt ZSkpOwotLSAKMi41MC4xCgo= --------------DOut60zi9EWu5vgUfPJDAKWR-- From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Jeremy Allison Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Thu, 21 Aug 2025 23:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 79267@debbugs.gnu.org, hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.17558185939705 (code B ref 79267); Thu, 21 Aug 2025 23:24:02 +0000 Received: (at 79267) by debbugs.gnu.org; 21 Aug 2025 23:23:13 +0000 Received: from localhost ([127.0.0.1]:33514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upEcj-0002WQ-71 for submit@debbugs.gnu.org; Thu, 21 Aug 2025 19:23:13 -0400 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]:58515) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1upEcf-0002WA-Pa for 79267@debbugs.gnu.org; Thu, 21 Aug 2025 19:23:11 -0400 Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-b474e8d6d04so1307678a12.0 for <79267@debbugs.gnu.org>; Thu, 21 Aug 2025 16:23:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ciq.com; s=s1; t=1755818583; x=1756423383; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=MVe+fhQd/NNDb13ToVsUVT4235H/MBZhjYLtHM7INpI=; b=CSvKNRTPZCgQc64ggHWgJtLHUu++S39zP7nxD48So4bnRceb1Y/+/E7cBmZQ5RX/uR AMjGZ3oxUkRt1CdV1r6M1abt7QxU3pBzXmvtEemRQm98PvCNW3W7eNd+25XI8s21VTy9 KeFph52FVOsY7jO0qbC6ZnrYHSQKriHUFH+Z47d+64GDeTgGEdClbIAi9RcGF5mICBof VgCanc/jHCrEAtsNPlNTaII1GPzq+0l7k27nSXDNAlSat9VUWwfD7190AsFBDVPeTmvH 5gYhHNLdrZScJSPtbqIOo/iVW8goW6ZUy/Ym5QxzSqwdz2gqYZd+1RGZb1OQn+lHTd5C TzQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755818583; x=1756423383; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MVe+fhQd/NNDb13ToVsUVT4235H/MBZhjYLtHM7INpI=; b=FNzArtjf2ppeV13IEnsxTgMwOjyxG4AnPNYGlDY9b9ljPR/GcgxsvT1WTGGeZUvuKU cVu09l9cv1NwYOa2jjrAd4fpd4NqiMtMvD0VKelnyl919JJBVa4gin0NATX6Djg85qDs dRZSuMpZBtJJ/y9gckvxaptaCHXSKvd7XUxDRqEAC24efA5l0iSow6w1WUnQXvFhPmV4 A+SR5ffgGaoKV/dqCKsZNR2TgzZuQJhAfCRJvE8RRpI/YlcyAqWb6ZZqOoVLHbvXnew2 G2c8JnkYj2a/TVqvLSQ++3V9S+I+FR0ESYaRlcr5LC0iWBCwcSy/tWQjryK3pT2m2E/y Ntyw== X-Gm-Message-State: AOJu0YwpJ6WriasWY25W2fpyPS//BIoYSPwNHxeOwD3ht9c2J8Rh3Mfz 3VcWDuqRHZ692EB0rZufB7KwMbFZKpD7usjQpKk85oWrALOGL5J/gTU1xB/s0vjaPB/jQr1mJMW UclkIZYeYhJMbzrd3G9FjRx2jLGZSOcO73Tf7inaiew== X-Gm-Gg: ASbGnctO8ntDkHKCGbi/O8bi5D4lWwQuTSEANXJHyQtI+ysrwEoXTkzMyjEIsg4+oG0 dWiyZ9BA626OpN4kArfN6lBL9+qX4KR+2gukl/BsY08d6kUeFAh4JeAO/7KbDEyVzwmH0ipuDfc sNc5kYc3A5M2F+Eo30+5zohjaWvaIAmfeGz0H3Ze9EnNKf9/XatWj10sd3bwAOSuX0NwdALnUTy zTjlMRqcOZv9VGQ X-Google-Smtp-Source: AGHT+IGNa9VLWgCEn0hpGw0u0cdwqhb/R2fLL6vBmkecU+k3Gl0K7uPBbpMzqKlRVKSFSXHfJG21cFrB3pudVN9SUJ0= X-Received: by 2002:a17:902:f552:b0:240:b075:577f with SMTP id d9443c01a7336-2462ef1d579mr14381705ad.37.1755818583178; Thu, 21 Aug 2025 16:23:03 -0700 (PDT) MIME-Version: 1.0 References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> In-Reply-To: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> From: Jeremy Allison Date: Thu, 21 Aug 2025 16:22:51 -0700 X-Gm-Features: Ac12FXxgldAKqFSYcYi1VXGUz8DVuYIM8V_Pr6qT_KXJAZQ2IRRDc9u7bMSim5I Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Yes - that seems to fix the problem ! Thanks Paul. On Thu, Aug 21, 2025 at 4:03=E2=80=AFPM Paul Eggert wr= ote: > > Thanks for the bug report. Although this part of the code is messy and > needs a revamp, in the meantime I installed the attached into the master > branch on Savannah; please give it a try. From unknown Thu Sep 11 13:55:19 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jeremy Allison Subject: bug#79267: closed (Re: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive.) Message-ID: References: <40ca7996-0969-4e6b-8aff-a4a547a814e0@cs.ucla.edu> X-Gnu-PR-Message: they-closed 79267 X-Gnu-PR-Package: coreutils Reply-To: 79267@debbugs.gnu.org Date: Thu, 21 Aug 2025 23:25:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1755818702-9967-1" This is a multi-part message in MIME format... ------------=_1755818702-9967-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #79267: cp --sparse=3Dauto heuristic fails on a squashfs mounted drive. which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 79267@debbugs.gnu.org. --=20 79267: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79267 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1755818702-9967-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 79267-done) by debbugs.gnu.org; 21 Aug 2025 23:24:26 +0000 Received: from localhost ([127.0.0.1]:33519 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upEdt-0002ZS-SK for submit@debbugs.gnu.org; Thu, 21 Aug 2025 19:24:26 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:36240) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upEdr-0002ZA-NM for 79267-done@debbugs.gnu.org; Thu, 21 Aug 2025 19:24:24 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 360923C0149F1; Thu, 21 Aug 2025 16:24:17 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id ZEoq1PKjv5m5; Thu, 21 Aug 2025 16:24:17 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 0F61A3C2C22D5; Thu, 21 Aug 2025 16:24:17 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 0F61A3C2C22D5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755818657; bh=rTfc6lUzCCtE3NL+d8C8F58XpCrS7gGpuKVSd4j5HKU=; h=Message-ID:Date:MIME-Version:To:From; b=l60cAb53D/y8hwT50cDSeWowS4YrGZ+yeXBXzHgjdTNqnNfeUAU0Vixl9xZfleFP1 VLLtUi/Rva566Q9D4W1t6gxknggMeQsH7pC2KialdDi7PP0XjzjLIwxrmydt6Emtnu zTdHcNoCtha4eG0WqZqzQDCxoFt94XmBIQ4rxvzT5wsTbuJV5ByDG01NIZ8Bh7fOre Dz6JyWLWJkxHtbfbhotuiePgPzZ5/JhRaa0euB9VCJHRQA/oWxTxyaQY6PFp0Ln90s UZr6EBCylcyrNduT3awvOZDvr+/oC4ra53jYYsb5Gk0wFE4jNfYjqWVN7VSjsQUBFB tSReG49rqDrrg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id MOXbPByJa_9q; Thu, 21 Aug 2025 16:24:16 -0700 (PDT) Received: from [10.10.33.175] (unknown [96.69.135.29]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id BE69C3C0149F1; Thu, 21 Aug 2025 16:24:16 -0700 (PDT) Message-ID: <40ca7996-0969-4e6b-8aff-a4a547a814e0@cs.ucla.edu> Date: Thu, 21 Aug 2025 17:24:16 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. To: Jeremy Allison References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> Content-Language: en-US From: Paul Eggert In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79267-done Cc: 79267-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: -1.0 (-) Thanks for checking; closing the bug report. ------------=_1755818702-9967-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Aug 2025 02:38:17 +0000 Received: from localhost ([127.0.0.1]:51976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uoCEp-00030U-9I for submit@debbugs.gnu.org; Mon, 18 Aug 2025 22:38:17 -0400 Received: from lists.gnu.org ([2001:470:142::17]:39778) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uo7MZ-0003DA-GF for submit@debbugs.gnu.org; Mon, 18 Aug 2025 17:25:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uo7MT-0006Fl-Fy for bug-coreutils@gnu.org; Mon, 18 Aug 2025 17:25:49 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uo7MR-000207-Ej for bug-coreutils@gnu.org; Mon, 18 Aug 2025 17:25:49 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-b47475cf8eeso915504a12.3 for ; Mon, 18 Aug 2025 14:25:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ciq.com; s=s1; t=1755552345; x=1756157145; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=WMxLu2EWbNs+Z+k8HS9hZXe/KFnaBtcyfU9bBhtnYms=; b=WKt4Dqo4C/YZS3Ljt1f7v0b/6cax3mmEB1h2tKZbTKe4ChUPdSG2pIO80p0sTny+RQ Xf2anFHewM4OYFwS/rTN7O2ZcvFkLczFGulny1MNeLMpod+oIMAy0710ZSdYuGRrbelA Ku/d4PMYxL0fo5FWpl8yCOTKGawNvV9iVrmWuBtqh69lQrGwCiezQPHaUhNZTnIcNyAY fJXPOnF/bKP/6qpqH0gHgOawIiSrRvtBsJG3O/coEZVJsPz2le+Dcdxd4iPhUlXUgjtc f6Tf/yjozyU0CRDXQ+crUwXxIfGRy2D0JkBfOXcOA+btwkiqZfvNetgdZIwWpHQIrQkD 6vdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755552345; x=1756157145; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=WMxLu2EWbNs+Z+k8HS9hZXe/KFnaBtcyfU9bBhtnYms=; b=HK5ddVhTAFoY03alTQB2z25OqxySfwdJgikB5dD3+4CgyaDeT0C0o+0fzj6bp2Ey16 tyLH+HXFhPrqY/oaFrZDyL74WwH9IMp5NCj90C3DIf04A8z84Izh49e09F9onIGM00LB R9MTHsch5a4syq/X66gQMfaYjKHuW7dE4qkVHGGk0ntWfyPTjGyewWesFSIodOYLlQVW bVjjnj3RUkmyRk0j0saoG4o61IBXmiiU0sJ+yZiVQuhFiUqeaZzEwe5cJ2HxV5Q4Mmvy dGgvEtqN5Trj1Q1ypexuMsU4nZAszYHtZqhghMuAhh8omQ8ALM1aTRwZ690XKZNOA2p1 zXxA== X-Gm-Message-State: AOJu0YzpptMR3jog/5SWx2utS3TysyTUYCJkoDz/T5up3+cvqI6hoWRu u8I1En4Kko3pTWQ2rZ/KEsoRu/9lQaJgARw7hP8AbhKmLmtAmzSjiEJ//i1WhzlND/LTaJtMQ55 l3rE63YRLLr71JBknO55aImvRcrSyuTe0ZanX9Qn9PyLb4rxYKlO0dmc= X-Gm-Gg: ASbGncsvpMXG3yP8yfym8PKWXEdx+RfHU0Mmprw1aHm303nhliJrL5+xwgI5QefGKdF NhYwutaBoGdfoZ4rM2Kb5R0fT6LwNnsL8uDG6IZ1ZQxqyklbOmNiV6JgEnYPUlRiGFWvwhrJ5dP aeLWYeaPJkA8SCmCEZ3L/FgZ4xdlGDS9IKcvVPjGssv9WOSZU4p+vxH0FBISDDiVhEIYJOzyInD 6NUHw== X-Google-Smtp-Source: AGHT+IEmp34VMRZI4TFWtTOSuJIxNNLM7KIXOTEjXR3VMdpxyNhzIxvTUySE7bsKKMoRwWZMmTIr622FM8BCR2sM7GQ= X-Received: by 2002:a17:903:144f:b0:240:22af:91c7 with SMTP id d9443c01a7336-245e02db23dmr1650945ad.14.1755552345166; Mon, 18 Aug 2025 14:25:45 -0700 (PDT) MIME-Version: 1.0 From: Jeremy Allison Date: Mon, 18 Aug 2025 14:25:32 -0700 X-Gm-Features: Ac12FXyRb6eynMgGQjs-llyGdiiioyQ1IGjpI_yOOl8C010aCiL2dyK7_tvDr1Q Message-ID: Subject: cp --sparse=auto heuristic fails on a squashfs mounted drive. To: bug-coreutils@gnu.org, Jeremy Allison , Howard Van Der Wal Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=jallison@ciq.com; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 18 Aug 2025 22:38:14 -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: -0.0 (/) It turns out that: lseek(3, 0, SEEK_HOLE) returns end-of-file for a sparse file copied from a Linux squashfs mounted drive. This breaks the --sparse=auto heuristic that detects a sparse file. I have a fix for you to consider. To reproduce: First, create a squashfs drive containing a file output_file.bin. mkdir squashfs-root cd squashfs-root Then run the following script mkhole.sh: -------------------------------------------------------------- #!/bin/bash OUTPUT="output_file.bin" # Remove file if it exists rm -f "$OUTPUT" # Write 4KB of 'A' dd if=<(yes A | tr -d '\n' | head -c 4096) of="$OUTPUT" bs=4096 count=1 # Create a 4k*100 hole followed by 4KB of zeros dd if=/dev/zero of="$OUTPUT" bs=4096 count=1 seek=101 # Write another 4KB of 'A' after the hole (overwriting the 4k of zeros) dd if=<(yes A | tr -d '\n' | head -c 4096) of="$OUTPUT" bs=4096 count=1 seek=101 -------------------------------------------------------------- Now create the mysquashfs.img file to mount: cd .. mksquashfs squashfs-root mysquashfs.img sudo mount -o loop mysquashfs.img /mnt Check that /mnt/output_file.bin is sparse: ls -lh /mnt/output_file.bin du -sh /mnt/output_file.bin (the second value should be less). Now use a newly built cp command from coreutils to copy this file to a local filesystem. mkdir ~/tmp cd ~/tmp ~/src/coreutils/src/cp --reflink=never /mnt/output_file.bin nonsparse Even though --sparse=auto and the file is sparse, it is not detected as such. This can be confirmed by running: strace ~/src/coreutils/src/cp --reflink=never /mnt/output_file.bin nonsparse and you will see: lseek(3, 0, SEEK_DATA) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 lseek(3, 0, SEEK_HOLE) = 417792 The following diff fixes this for me, and still passes "make check". diff --git a/src/copy.c b/src/copy.c index 77f0c561e..91136cd7c 100644 --- a/src/copy.c +++ b/src/copy.c @@ -592,7 +592,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size, else if (sparse_mode != SPARSE_NEVER) { if (! create_hole (dest_fd, dst_name, - sparse_mode == SPARSE_ALWAYS, + sparse_mode != SPARSE_NEVER, ext_hole_size)) return false; } @@ -621,7 +621,7 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size, if ( ! sparse_copy (src_fd, dest_fd, abuf, buf_size, true, allow_reflink, src_name, dst_name, ext_len, - sparse_mode == SPARSE_ALWAYS ? hole_size : nullptr, + sparse_mode != SPARSE_NEVER ? hole_size : nullptr, &n_read)) return false; @@ -1576,7 +1576,7 @@ copy_reg (char const *src_name, char const *dst_name, : #endif sparse_copy (source_desc, dest_desc, &buf, buf_size, - x->sparse_mode == SPARSE_ALWAYS, + x->sparse_mode != SPARSE_NEVER, x->reflink_mode != REFLINK_NEVER, src_name, dst_name, UINTMAX_MAX, make_holes ? &hole_size : nullptr, &n_read))) Thanks ! Jeremy Allison, CIQ Inc. ------------=_1755818702-9967-1-- From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 22 Aug 2025 13:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert , Jeremy Allison Cc: 79267@debbugs.gnu.org, hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.17558678729349 (code B ref 79267); Fri, 22 Aug 2025 13:05:01 +0000 Received: (at 79267) by debbugs.gnu.org; 22 Aug 2025 13:04:32 +0000 Received: from localhost ([127.0.0.1]:35611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upRRY-0002Qj-8a for submit@debbugs.gnu.org; Fri, 22 Aug 2025 09:04:32 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:53301) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1upRRU-0002QQ-TI for 79267@debbugs.gnu.org; Fri, 22 Aug 2025 09:04:29 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-45a1b098f43so15663115e9.2 for <79267@debbugs.gnu.org>; Fri, 22 Aug 2025 06:04:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755867862; x=1756472662; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=HXtsSP8Ag8Cp4H/5mdtiLkMGDDCniHwN1RyymZVkNDg=; b=gmK6UaU6M/TI9GApJLEr8nMjZChpWm/vziNemh3FBob836HMHdUSRflj6k2OSFrU9Z GfswJpMMoMrBnbQvJA+cI3MXTCYJf8qNjDXOJbO6k2quRMBXeCp/cBYxW6/rYM7BQd7F f58a/QPSyDqQxkQIWg2lzF2Tdzbg2o+ZkvoJ8HeqF5VZyGSf4Y49pZTT9vAuRqNOeaQ6 quwf42Vt+tfZr9RjC+2e6UIS3WFj/HqjCJRgMfZTV2WSAw2r3A3KADxv1CWpmg7ctvHd LdFCrs7yOaW1gdpToC8szyjpQMRuEeRklS0OZYTW9st05V1Y2Cj+qrtQWkkH5w3zE12r +aVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755867862; x=1756472662; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HXtsSP8Ag8Cp4H/5mdtiLkMGDDCniHwN1RyymZVkNDg=; b=l6w3QMPXFw82LdqhF4bzf8N9WIhd+xBi8/F5adcQunxMERjgo8Vw2/x33/O0eB110y P5wfi+9Cq4xqZzT3r6EsOoR7aUMeukC/SEx/AwQMdLrJe2IkooclIzKe+eIOaLO0hTmA RGXg8Bu2kSyjmDMALApIolgDVjU1bHV4wO3VoCEvOPU9HFOtcXoYjAxmUMvlY/LcpC8L IHjXr1tFxrVFmKWPaPej2QVZ3wRIhob2w7E3RN+RJLS50sau7ON0Y6Eum9up22Ch8ksX X5uDZVbqpABWmLZ6fJruCsm/Z200Mpk6khdmM75KHwj4qCC9i6GuYk0pEpKHOWEBGatU Ijtg== X-Gm-Message-State: AOJu0YwbLPlylhuFUgSV4DlYO3y5pS6UdRjkZmbTL1XrOZFJNkrkxipI 8nKK73Rn5YrHhr2EMft+tzw3DkdbVgLgW45JB2dtPiUh9uiCba+ofDI9 X-Gm-Gg: ASbGncuLShXkyP5aYFm9WpgZtkfqM/5dcoRHDtsGao4OHbYPbYGJMD1aItbpMWtT8mk oRhpBh80nuQRqy2qkdh/8Hn6PRQXs4XLP8icmliRb5iLJGlYdoG+VSLOzJaHRBdCCxc8DWgfSWh TT8+t7aXsPJzvFdWnQtWQW90aUKqm026+rCMEpPMHCjZ+vHMhMVvL6++RjxxzqNaAzlmxDSWMvK RclwRUvWILXTnlyJpvfaRfRDR9iOB9Pu2WrljVRPTJRCdHNKzM2tsC4NB+6x4DbtdnZdqYer4oC vzY18yPK/58kWY6zaAT14a9pCS4cjQabnqjKb1mXCSFhkt7+KyYKPxe5/48rwNYISURIz+YWuAT yjUQ0ezdDKafVOxlHPV3dOVQi7DUYVEc8C30gBwj9W7NOVIWz9q17va5gIwl9asUvp1tXoOvw/G pSlA== X-Google-Smtp-Source: AGHT+IH5B3SAfgy+IxJKpBLCj90QcV172OIaHnE6sLiwiX8pHfQXDXgx8B2dgTszT3Th9sdqEDapcw== X-Received: by 2002:a05:600c:1c98:b0:456:214f:f78d with SMTP id 5b1f17b1804b1-45b53cfa151mr17059795e9.22.1755867862069; Fri, 22 Aug 2025 06:04:22 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-45b50de8ea4sm36838975e9.14.2025.08.22.06.04.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Aug 2025 06:04:21 -0700 (PDT) Message-ID: <7fe26671-f51a-44f2-8842-66f86c7f2c4e@draigBrady.com> Date: Fri, 22 Aug 2025 14:04:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.1 (/) 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.9 (/) A question about this hunk: @@ -619,9 +615,9 @@ lseek_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size, is conservative and may miss some holes. */ off_t n_read; if ( ! sparse_copy (src_fd, dest_fd, abuf, buf_size, - true, allow_reflink, src_name, dst_name, + allow_reflink, src_name, dst_name, ext_len, - sparse_mode == SPARSE_ALWAYS ? hole_size : nullptr, + sparse_mode != SPARSE_NEVER ? hole_size : nullptr, &n_read)) return false; The comment above that is: /* Copy this extent, looking for further opportunities to not bother to write zeros if --sparse=always, since SEEK_HOLE is conservative and may miss some holes. */ So the comment needs to be tweaked, but a more general issue is that it disables copy offloading (copy_file_range) for sparse files. I.e. it undoes https://github.com/coreutils/coreutils/commit/879d2180d BTW commit 26bf557 also changed this a couple of weeks ago without updating the comment, so the comment relates to sparse_mode != SPARSE_ALWAYS. If we do decide to change behavior here it should documented in NEWS, but I don't think this is the right compromise. If we can't handle all cases optimally, I'd be inclined to err on being as performant as possible by default, and only try harder to look for holes with --sparse=always. squashfs is giving the wrong info here after all, right? cheers, Padraig. From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 00:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady , Jeremy Allison Cc: 79267@debbugs.gnu.org, hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175591013011376 (code B ref 79267); Sat, 23 Aug 2025 00:49:02 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 00:48:50 +0000 Received: from localhost ([127.0.0.1]:38058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upcR4-0002xK-5m for submit@debbugs.gnu.org; Fri, 22 Aug 2025 20:48:50 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:50922) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upcQz-0002wx-AO for 79267@debbugs.gnu.org; Fri, 22 Aug 2025 20:48:42 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 321773C328D31; Fri, 22 Aug 2025 17:48:33 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id Zzk-TTm-tYbW; Fri, 22 Aug 2025 17:48:33 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 07EF13C328D36; Fri, 22 Aug 2025 17:48:33 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 07EF13C328D36 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755910113; bh=HNtpczOhjaEGjvEDkc1cjdddpYW7g4fe/yVaJO7NqGM=; h=Message-ID:Date:MIME-Version:To:From; b=iAf4u2ZA3koFvMYg/nRHXyMeLlG65sBXDlioa5jSkuqmJ5Y3pEqkTSg26lgVTdIMj z4HRXxg8lgs/5DTXB0Uhzp/J5d3aj8IPy1eUmk/0awgV+zDu9FOdqYnTw7VS154Y/o rM0abKe4SeSmwyIWxYfpt4dEP8BBSZ2oWNU6YjaJujY+vZV1qwWNEgOTIB8yt8BObP E+nWFJm393ouZ/GYRczoMDhwqtdyWMnems/LMIxrv1CU8cm6tr+XZ4Sr/im8V7G6+6 ETIVmYpF9mLreAI9BVLappYeE7CLVdUVwgR2758gArz67ArqkKiQwePmJUIGRAO9CQ mxEMaz2mGL57Q== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id qvDeBvSfenxg; Fri, 22 Aug 2025 17:48:32 -0700 (PDT) Received: from [172.31.76.7] (unknown [169.133.32.228]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 980553C328D31; Fri, 22 Aug 2025 17:48:32 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------000AVHpt8nZIzcD4g1zBpetw" Message-ID: <9da6d436-8063-4b3c-a903-2e57fddf4fcb@cs.ucla.edu> Date: Fri, 22 Aug 2025 18:48:31 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> <7fe26671-f51a-44f2-8842-66f86c7f2c4e@draigBrady.com> Content-Language: en-US From: Paul Eggert In-Reply-To: <7fe26671-f51a-44f2-8842-66f86c7f2c4e@draigBrady.com> X-Spam-Score: 0.0 (/) 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 (-) This is a multi-part message in MIME format. --------------000AVHpt8nZIzcD4g1zBpetw Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 8/22/25 07:04, P=C3=A1draig Brady wrote: > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Copy this extent, looking for furthe= r opportunities to not > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bother to write zeros= if --sparse=3Dalways, since SEEK_HOLE > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 is conservative and m= ay miss some holes.=C2=A0 */ >=20 > So the comment needs to be tweaked, but a more general issue > is that it disables copy offloading (copy_file_range) for sparse files. Ouch, I didn't see that. That's a real loss. I installed the first=20 attached patch to revert that part of my recent change. I assume the part of the change that always punches holes is OK. I=20 couldn't see why one would not want to punch a hole if one has already=20 taken the trouble to find and create the hole. > BTW commit 26bf557 also changed this a couple of weeks ago > without updating the comment, so the comment relates to sparse_mode !=3D= =20 > SPARSE_ALWAYS. Not quite following but I hope the comment is OK now with the first=20 patch installed. > squashfs is giving the wrong info here after all,=20 > right? Yes, that's the actual space-performance bug here. I installed the=20 second attached patch to try to work around it. Jeremy, can you please try these two further patches? Thanks. --------------000AVHpt8nZIzcD4g1zBpetw Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-go-back-to-copy_file_range-optimization.patch" Content-Disposition: attachment; filename="0001-cp-go-back-to-copy_file_range-optimization.patch" Content-Transfer-Encoding: base64 RnJvbSAzMDZkZTZjMjYxOWUyYTkzMzlhZGU5YTg4ZDU1YzQ5NDA5NDJkNTE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDIyIEF1ZyAyMDI1IDEwOjM3OjUwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzJdIGNwOiBnbyBiYWNrIHRvIGNvcHlfZmlsZV9yYW5nZSBvcHRpbWl6YXRpb24KClRo aXMgcmV2ZXJ0cyBwYXJ0IG9mIHRoZSBwcmV2aW91cyBjaGFuZ2UuCiogc3JjL2NvcHkuYyAo bHNlZWtfY29weSk6IFdoZW4gY2FsbGluZyBzcGFyc2VfY29weSwgZG8gbm90CmFzayBpdCB0 byBzY2FuIGZvciB6ZXJvcyB1bmxlc3MgLS1zcGFyc2U9YWx3YXlzLCBzbyB0aGF0IGl0CmNh biB1c2UgY29weV9maWxlX3JhbmdlIHdoaWNoIGNhbiBiZSBmYXIgbW9yZSBlZmZpY2llbnQu Ci0tLQogc3JjL2NvcHkuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9jb3B5LmMgYi9zcmMvY29weS5j CmluZGV4IGUzMjhiZDg4Ni4uMTM0YzU3YzhiIDEwMDY0NAotLS0gYS9zcmMvY29weS5jCisr KyBiL3NyYy9jb3B5LmMKQEAgLTYxNyw3ICs2MTcsNyBAQCBsc2Vla19jb3B5IChpbnQgc3Jj X2ZkLCBpbnQgZGVzdF9mZCwgY2hhciAqKmFidWYsIHNpemVfdCBidWZfc2l6ZSwKICAgICAg IGlmICggISBzcGFyc2VfY29weSAoc3JjX2ZkLCBkZXN0X2ZkLCBhYnVmLCBidWZfc2l6ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfcmVmbGluaywgc3JjX25hbWUsIGRz dF9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICBleHRfbGVuLAotICAgICAgICAg ICAgICAgICAgICAgICAgICBzcGFyc2VfbW9kZSAhPSBTUEFSU0VfTkVWRVIgPyBob2xlX3Np emUgOiBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFyc2VfbW9kZSA9 PSBTUEFSU0VfQUxXQVlTID8gaG9sZV9zaXplIDogbnVsbHB0ciwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgJm5fcmVhZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotLSAKMi41 MC4xCgo= --------------000AVHpt8nZIzcD4g1zBpetw Content-Type: text/x-patch; charset=UTF-8; name="0002-cp-improve-hole-handling-on-squashfs.patch" Content-Disposition: attachment; filename="0002-cp-improve-hole-handling-on-squashfs.patch" Content-Transfer-Encoding: base64 RnJvbSAzOWYyMmZlNjg3ZWEwYzIyNmUzZmIzNWU4NmNkNWVhMzI5MTgwYjgwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDIyIEF1ZyAyMDI1IDE3OjM0OjA0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzJdIGNwOiBpbXByb3ZlIGhvbGUgaGFuZGxpbmcgb24gc3F1YXNoZnMKCkJldHRlciBm aXggZm9yIHByb2JsZW0gcmVwb3J0ZWQgYnkgSmVyZW15IEFsbGlzb24KPGh0dHBzOi8vYnVn cy5nbnUub3JnLzc5MjY3Pi4KKiBzcmMvY29weS5jIChzdHJ1Y3Qgc2Nhbl9pbmZlcmVuY2Up OiBOZXcgdHlwZSwgcmVwbGFjaW5nCnVuaW9uIHNjYW5faW5mZXJlbmNlLiAgQWxsIHVzZXMg Y2hhbmdlZC4gIFRoaXMgaXMgc28KaW5mZXJfc2NhbnR5cGUgY2FuIHJlcG9ydCB0aGUgZmly c3QgaG9sZSdzIG9mZnNldCB3aGVuIGtub3duLgoobHNlZWtfY29weSk6IDV0aCBhcmcgaXMg bm93IHN0cnVjdCBzY2FuX2luZmVyZW5jZSBjb25zdCAqLApub3QganVzdCBvZmZfdC4gIEFs bCB1c2VzIGNoYW5nZWQuCihpbmZlcl9zY2FudHlwZSk6IElmIFNFRUtfU0VUK1NFRUtfSE9M RSBkbyBub3QgZmluZCBhIGhvbGUsCmZhbGwgYmFjayBvbiBaRVJPX1NDQU5UWVBFLgotLS0K IE5FV1MgICAgICAgfCAgNCArKysrCiBzcmMvY29weS5jIHwgNjAgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5n ZWQsIDQzIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05F V1MgYi9ORVdTCmluZGV4IDU3MjQ2OThiZi4uMmE4MDU2NjU4IDEwMDY0NAotLS0gYS9ORVdT CisrKyBiL05FV1MKQEAgLTE3LDYgKzE3LDEwIEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBkYXRh IHplcm9zIHVzZWQgZXh0ZW50cyByYXRoZXIgdGhhbiBob2xlcy4KICAgW1RoaXMgYnVnIHdh cyBwcmVzZW50IGluICJ0aGUgYmVnaW5uaW5nIi5dCiAKKyAgY3AgbWlzc2VkIG9wcG9ydHVu aXRpZXMgdG8gY3JlYXRlIGhvbGVzIHdoZW4gY29weWluZyBmcm9tIGZpbGUKKyAgc3lzdGVt cyBsaWtlIHNxdWFzaGZzIHRoYXQgc3VwcG9ydCBTRUVLX0hPTEUgb25seSB0cml2aWFsbHku CisgIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMtOS4wXQorCiAgIGNwLCBpbnN0YWxs LCBhbmQgbXYgbm93IGF2b2lkIHBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBvbgogICBnbGli YyAyLjQxIGFuZCAyLjQyIHN5c3RlbXMgd2hlbiBjb3B5X2ZpbGVfcmFuZ2UgaXMgdXNlZCB3 aXRoIHJhbmdlcyA+IDJHaUIsCiAgIGF2b2lkaW5nIGh0dHBzOi8vc291cmNld2FyZS5vcmcv UFIzMzI0NQpkaWZmIC0tZ2l0IGEvc3JjL2NvcHkuYyBiL3NyYy9jb3B5LmMKaW5kZXggMTM0 YzU3YzhiLi43M2RlZDY4NTcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3B5LmMKKysrIGIvc3JjL2Nv cHkuYwpAQCAtMTA2LDYgKzEwNiwxNiBAQAogIyBkZWZpbmUgQ0FOX0hBUkRMSU5LX1NZTUxJ TktTIDAKICNlbmRpZgogCisvKiBSZXN1bHQgb2YgaW5mZXJfc2NhbnR5cGUgd2hlbiBpdCBy ZXR1cm5zIExTRUVLX1NDQU5UWVBFLiAgKi8KK3N0cnVjdCBzY2FuX2luZmVyZW5jZQorewor ICAvKiBUaGUgb2Zmc2V0IG9mIHRoZSBmaXJzdCBkYXRhIGJsb2NrLCBvciAtMSBpZiB0aGUg ZmlsZSBoYXMgbm8gZGF0YS4gICovCisgIG9mZl90IGV4dF9zdGFydDsKKworICAvKiBUaGUg b2Zmc2V0IG9mIHRoZSBmaXJzdCBob2xlLiAgKi8KKyAgb2ZmX3QgaG9sZV9zdGFydDsKK307 CisKIHN0cnVjdCBkaXJfbGlzdAogewogICBzdHJ1Y3QgZGlyX2xpc3QgKnBhcmVudDsKQEAg LTU0MCw3ICs1NTAsNyBAQCB3cml0ZV96ZXJvcyAoaW50IGZkLCBvZmZfdCBuX2J5dGVzKQog CiBzdGF0aWMgYm9vbAogbHNlZWtfY29weSAoaW50IHNyY19mZCwgaW50IGRlc3RfZmQsIGNo YXIgKiphYnVmLCBzaXplX3QgYnVmX3NpemUsCi0gICAgICAgICAgICBvZmZfdCBleHRfc3Rh cnQsIG9mZl90IHNyY190b3RhbF9zaXplLAorICAgICAgICAgICAgc3RydWN0IHNjYW5faW5m ZXJlbmNlIGNvbnN0ICpzY2FuX2luZmVyZW5jZSwgb2ZmX3Qgc3JjX3RvdGFsX3NpemUsCiAg ICAgICAgICAgICBlbnVtIFNwYXJzZV90eXBlIHNwYXJzZV9tb2RlLAogICAgICAgICAgICAg Ym9vbCBhbGxvd19yZWZsaW5rLAogICAgICAgICAgICAgY2hhciBjb25zdCAqc3JjX25hbWUs IGNoYXIgY29uc3QgKmRzdF9uYW1lLApAQCAtNTUyLDkgKzU2MiwxMSBAQCBsc2Vla19jb3B5 IChpbnQgc3JjX2ZkLCBpbnQgZGVzdF9mZCwgY2hhciAqKmFidWYsIHNpemVfdCBidWZfc2l6 ZSwKIAogICBjb3B5X2RlYnVnLnNwYXJzZV9kZXRlY3Rpb24gPSBDT1BZX0RFQlVHX0VYVEVS TkFMOwogCi0gIHdoaWxlICgwIDw9IGV4dF9zdGFydCkKKyAgZm9yIChvZmZfdCBleHRfc3Rh cnQgPSBzY2FuX2luZmVyZW5jZS0+ZXh0X3N0YXJ0OyAwIDw9IGV4dF9zdGFydDsgKQogICAg IHsKLSAgICAgIG9mZl90IGV4dF9lbmQgPSBsc2VlayAoc3JjX2ZkLCBleHRfc3RhcnQsIFNF RUtfSE9MRSk7CisgICAgICBvZmZfdCBleHRfZW5kID0gKGV4dF9zdGFydCA9PSAwCisgICAg ICAgICAgICAgICAgICAgICAgID8gc2Nhbl9pbmZlcmVuY2UtPmhvbGVfc3RhcnQKKyAgICAg ICAgICAgICAgICAgICAgICAgOiBsc2VlayAoc3JjX2ZkLCBleHRfc3RhcnQsIFNFRUtfSE9M RSkpOwogICAgICAgaWYgKGV4dF9lbmQgPCAwKQogICAgICAgICB7CiAgICAgICAgICAgaWYg KGVycm5vICE9IEVOWElPKQpAQCAtMTA4NSwyMyArMTA5NywxMyBAQCBlbnVtIHNjYW50eXBl CiAgICBMU0VFS19TQ0FOVFlQRSwKICAgfTsKIAotLyogUmVzdWx0IG9mIGluZmVyX3NjYW50 eXBlLiAgKi8KLXVuaW9uIHNjYW5faW5mZXJlbmNlCi17Ci0gIC8qIFVzZWQgaWYgaW5mZXJf c2NhbnR5cGUgcmV0dXJucyBMU0VFS19TQ0FOVFlQRS4gIFRoaXMgaXMgdGhlCi0gICAgIG9m ZnNldCBvZiB0aGUgZmlyc3QgZGF0YSBibG9jaywgb3IgLTEgaWYgdGhlIGZpbGUgaGFzIG5v IGRhdGEuICAqLwotICBvZmZfdCBleHRfc3RhcnQ7Ci19OwotCiAvKiBSZXR1cm4gaG93IHRv IHNjYW4gYSBmaWxlIHdpdGggZGVzY3JpcHRvciBGRCBhbmQgc3RhdCBidWZmZXIgU0IuCi0g ICAqU0NBTl9JTkZFUkVOQ0UgaXMgc2V0IHRvIGEgdmFsaWQgdmFsdWUgaWYgcmV0dXJuaW5n IExTRUVLX1NDQU5UWVBFLiAgKi8KKyAgIFNldCAqU0NBTl9JTkZFUkVOQ0UgaWYgcmV0dXJu aW5nIExTRUVLX1NDQU5UWVBFLiAgKi8KIHN0YXRpYyBlbnVtIHNjYW50eXBlCiBpbmZlcl9z Y2FudHlwZSAoaW50IGZkLCBzdHJ1Y3Qgc3RhdCBjb25zdCAqc2IsCi0gICAgICAgICAgICAg ICAgdW5pb24gc2Nhbl9pbmZlcmVuY2UgKnNjYW5faW5mZXJlbmNlKQorICAgICAgICAgICAg ICAgIHN0cnVjdCBzY2FuX2luZmVyZW5jZSAqc2Nhbl9pbmZlcmVuY2UpCiB7Ci0gIHNjYW5f aW5mZXJlbmNlLT5leHRfc3RhcnQgPSAtMTsgIC8qIGF2b2lkIC1XbWF5YmUtdW5pbml0aWFs aXplZCAqLwotCi0gIC8qIE9ubHkgYXR0ZW1wdCBTRUVLX0hPTEUgaWYgdGhpcyBoZXVyaXN0 aWMKKyAgLyogVHJ5IFNFRUtfSE9MRSBvbmx5IGlmIHRoaXMgaGV1cmlzdGljCiAgICAgIHN1 Z2dlc3RzIHRoZSBmaWxlIGlzIHNwYXJzZS4gICovCiAgIGlmICghIChIQVZFX1NUUlVDVF9T VEFUX1NUX0JMT0NLUwogICAgICAgICAgJiYgU19JU1JFRyAoc2ItPnN0X21vZGUpCkBAIC0x MTA5LDEwICsxMTExLDI2IEBAIGluZmVyX3NjYW50eXBlIChpbnQgZmQsIHN0cnVjdCBzdGF0 IGNvbnN0ICpzYiwKICAgICByZXR1cm4gUExBSU5fU0NBTlRZUEU7CiAKICNpZmRlZiBTRUVL X0hPTEUKLSAgb2ZmX3QgZXh0X3N0YXJ0ID0gbHNlZWsgKGZkLCAwLCBTRUVLX0RBVEEpOwot ICBpZiAoMCA8PSBleHRfc3RhcnQgfHwgZXJybm8gPT0gRU5YSU8pCisgIHNjYW5faW5mZXJl bmNlLT5leHRfc3RhcnQgPSBsc2VlayAoZmQsIDAsIFNFRUtfREFUQSk7CisgIGlmIChzY2Fu X2luZmVyZW5jZS0+ZXh0X3N0YXJ0ID09IDApCisgICAgeworICAgICAgc2Nhbl9pbmZlcmVu Y2UtPmhvbGVfc3RhcnQgPSBsc2VlayAoZmQsIDAsIFNFRUtfSE9MRSk7CisgICAgICBpZiAo MCA8PSBzY2FuX2luZmVyZW5jZS0+aG9sZV9zdGFydCkKKyAgICAgICAgeworICAgICAgICAg IGlmIChzY2FuX2luZmVyZW5jZS0+aG9sZV9zdGFydCA8IHNiLT5zdF9zaXplKQorICAgICAg ICAgICAgcmV0dXJuIExTRUVLX1NDQU5UWVBFOworCisgICAgICAgICAgLyogVGhvdWdoIHRo ZSBmaWxlIGxpa2VseSBoYXMgaG9sZXMsIFNFRUtfREFUQSBhbmQgU0VFS19IT0xFCisgICAg ICAgICAgICAgZGlkbid0IGZpbmQgYW55LiAgVGhpcyBjYW4gaGFwcGVuIHdpdGggZmlsZSBz eXN0ZW1zIGxpa2UKKyAgICAgICAgICAgICBjaXJjYS0yMDI1IHNxdWFzaGZzIHRoYXQgc3Vw cG9ydCBTRUVLX0hPTEUgb25seSB0cml2aWFsbHkuCisgICAgICAgICAgICAgRmFsbCBiYWNr IG9uIFpFUk9fU0NBTlRZUEUuICAqLworICAgICAgICAgIGlmIChsc2VlayAoZmQsIDAsIFNF RUtfU0VUKSA8IDApCisgICAgICAgICAgICByZXR1cm4gRVJST1JfU0NBTlRZUEU7CisgICAg ICAgIH0KKyAgICB9CisgIGVsc2UgaWYgKDAgPCBzY2FuX2luZmVyZW5jZS0+ZXh0X3N0YXJ0 IHx8IGVycm5vID09IEVOWElPKQogICAgIHsKLSAgICAgIHNjYW5faW5mZXJlbmNlLT5leHRf c3RhcnQgPSBleHRfc3RhcnQ7CisgICAgICBzY2FuX2luZmVyZW5jZS0+aG9sZV9zdGFydCA9 IDA7ICAvKiBQYWNpZnkgLVdtYXliZS11bmluaXRpYWxpemVkLiAgKi8KICAgICAgIHJldHVy biBMU0VFS19TQ0FOVFlQRTsKICAgICB9CiAgIGVsc2UgaWYgKGVycm5vICE9IEVJTlZBTCAm JiAhaXNfRU5PVFNVUCAoZXJybm8pKQpAQCAtMTIwOSw3ICsxMjI3LDYgQEAgY29weV9yZWcg KGNoYXIgY29uc3QgKnNyY19uYW1lLCBjaGFyIGNvbnN0ICpkc3RfbmFtZSwKICAgbW9kZV90 IGV4dHJhX3Blcm1pc3Npb25zOwogICBzdHJ1Y3Qgc3RhdCBzYjsKICAgc3RydWN0IHN0YXQg c3JjX29wZW5fc2I7Ci0gIHVuaW9uIHNjYW5faW5mZXJlbmNlIHNjYW5faW5mZXJlbmNlOwog ICBib29sIHJldHVybl92YWwgPSB0cnVlOwogICBib29sIGRhdGFfY29weV9yZXF1aXJlZCA9 IHgtPmRhdGFfY29weV9yZXF1aXJlZDsKICAgYm9vbCBwcmVzZXJ2ZV94YXR0ciA9IFVTRV9Y QVRUUiAmIHgtPnByZXNlcnZlX3hhdHRyOwpAQCAtMTUxOCw2ICsxNTM1LDcgQEAgY29weV9y ZWcgKGNoYXIgY29uc3QgKnNyY19uYW1lLCBjaGFyIGNvbnN0ICpkc3RfbmFtZSwKICAgICAg IHNpemVfdCBidWZfc2l6ZSA9IGlvX2Jsa3NpemUgKCZzYik7CiAKICAgICAgIC8qIERlYWwg d2l0aCBzcGFyc2UgZmlsZXMuICAqLworICAgICAgc3RydWN0IHNjYW5faW5mZXJlbmNlIHNj YW5faW5mZXJlbmNlOwogICAgICAgZW51bSBzY2FudHlwZSBzY2FudHlwZSA9IGluZmVyX3Nj YW50eXBlIChzb3VyY2VfZGVzYywgJnNyY19vcGVuX3NiLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2Nhbl9pbmZlcmVuY2UpOwogICAgICAg aWYgKHNjYW50eXBlID09IEVSUk9SX1NDQU5UWVBFKQpAQCAtMTU2NSw3ICsxNTgzLDcgQEAg Y29weV9yZWcgKGNoYXIgY29uc3QgKnNyY19uYW1lLCBjaGFyIGNvbnN0ICpkc3RfbmFtZSwK ICNpZmRlZiBTRUVLX0hPTEUKICAgICAgICAgICAgICBzY2FudHlwZSA9PSBMU0VFS19TQ0FO VFlQRQogICAgICAgICAgICAgID8gbHNlZWtfY29weSAoc291cmNlX2Rlc2MsIGRlc3RfZGVz YywgJmJ1ZiwgYnVmX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuX2lu ZmVyZW5jZS5leHRfc3RhcnQsIHNyY19vcGVuX3NiLnN0X3NpemUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAmc2Nhbl9pbmZlcmVuY2UsIHNyY19vcGVuX3NiLnN0X3NpemUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlX2hvbGVzID8geC0+c3BhcnNlX21vZGUg OiBTUEFSU0VfTkVWRVIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LT5yZWZsaW5r X21vZGUgIT0gUkVGTElOS19ORVZFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNy Y19uYW1lLCBkc3RfbmFtZSwgJmhvbGVfc2l6ZSwgJm5fcmVhZCkKLS0gCjIuNTAuMQoK --------------000AVHpt8nZIzcD4g1zBpetw-- From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. References: In-Reply-To: Resent-From: Phillip Lougher Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 04:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: jallison@ciq.com Cc: 79267@debbugs.gnu.org X-Debbugs-Original-Cc: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.175592355519679 (code B ref -1); Sat, 23 Aug 2025 04:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Aug 2025 04:32:35 +0000 Received: from localhost ([127.0.0.1]:38342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upfve-00057K-Oy for submit@debbugs.gnu.org; Sat, 23 Aug 2025 00:32:35 -0400 Received: from lists.gnu.org ([2001:470:142::17]:50592) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1updjs-0006sF-6r for submit@debbugs.gnu.org; Fri, 22 Aug 2025 22:12:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1updjm-00004z-Jl for bug-coreutils@gnu.org; Fri, 22 Aug 2025 22:12:10 -0400 Received: from sxb1plsmtpa01-06.prod.sxb1.secureserver.net ([188.121.53.63]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1updjk-0001km-GM for bug-coreutils@gnu.org; Fri, 22 Aug 2025 22:12:10 -0400 Received: from [192.168.178.101] ([82.69.79.175]) by :SMTPAUTH: with ESMTPSA id pdjTuwDEaZ7FqpdjWu9RIL; Fri, 22 Aug 2025 19:11:54 -0700 X-CMAE-Analysis: v=2.4 cv=Wvly8dfv c=1 sm=1 tr=0 ts=68a9236b a=84ok6UeoqCVsigPHarzEiQ==:117 a=84ok6UeoqCVsigPHarzEiQ==:17 a=IkcTkHD0fZMA:10 a=VwQbUJbxAAAA:8 a=sTWVY-9sCEuFQurMYdQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 Feedback-ID: 636b72355348f86aae7fc3ddd9cf8d60:squashfs.org.uk:ssnet X-SECURESERVER-ACCT: phillip@squashfs.org.uk Message-ID: Date: Sat, 23 Aug 2025 03:11:51 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-GB From: Phillip Lougher Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfKYB/+W3BL42xlLVzd2odEFIqXmG3ScrAlu3gcJcu7F5E127KsPteWyrnJO4R//wX7iisuOzrLD2JUBY+/VFYRrXz0mIcEKwW//rMnZH6pSVTbQJnWYQ 0dd4ilx9Vt8ochYAzfELZzMHwjXzkJFveK9uoh5BjGTXq6/t9XNPKVXNjjL9ebaKPfaDxyAihB5+JywN4CFWAfC7jAp5l6WbV7acewtGCXXNxN2dd89Sw9+A Received-SPF: pass client-ip=188.121.53.63; envelope-from=phillip@squashfs.org.uk; helo=sxb1plsmtpa01-06.prod.sxb1.secureserver.net 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Sat, 23 Aug 2025 00:32:32 -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 (-) Jeremy Allison wrote: > It turns out that: lseek(3, 0, SEEK_HOLE) returns end-of-file for a > sparse file copied from a Linux squashfs mounted drive. This breaks > the --sparse=auto heuristic that detects a sparse file. The reason for this is because Squashfs supports sparse files, but it has never implemented SEEK_HOLE/SEEK_DATA, forcing applications to do their own hole discovery.  This was done for following reason. Squashfs supports sparse holes at the granularity of the block, but the block size in Squashfs is by default 128 Kbytes (and can be up to 1 Mbyte).  In contrast most Linux filesystems use 4K block sizes. This means any Squashfs SEEK_HOLE/SEEK_DATA implementation will not behave like other Linux filesystems, because it won't report sparseness at the 4K granularity that most people or programs will expect it to. With the result a program may miss holes that exist in the file. I have always considered it better not to support something rather than support it in a way that people won't expect it to behave, or the principle of least surprise. > lseek(3, 0, SEEK_DATA)                  = 0 > fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 > lseek(3, 0, SEEK_HOLE)                  = 417792 This is the behaviour of the default llseek() implementation in the Linux kernel VFS when doing an lseek SEEK_HOLE.  This is to seek to a virtual hole at the end of the file. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/read_write.c#n102 I am not subscribed to this email list, and so please CC me on replies. Thanks Phillip --- Squashfs author and maintainer From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. References: In-Reply-To: Resent-From: Phillip Lougher Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 04:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: P@draigBrady.com Cc: 79267@debbugs.gnu.org X-Debbugs-Original-Cc: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.175592355719687 (code B ref -1); Sat, 23 Aug 2025 04:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Aug 2025 04:32:37 +0000 Received: from localhost ([127.0.0.1]:38344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upfvg-00057S-Ga for submit@debbugs.gnu.org; Sat, 23 Aug 2025 00:32:37 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40728) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upfq5-0004qR-1g for submit@debbugs.gnu.org; Sat, 23 Aug 2025 00:26:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1upfpz-0003kc-Ar for bug-coreutils@gnu.org; Sat, 23 Aug 2025 00:26:43 -0400 Received: from sxb1plsmtpa01-16.prod.sxb1.secureserver.net ([92.204.81.247]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1upfpw-0007j6-0L for bug-coreutils@gnu.org; Sat, 23 Aug 2025 00:26:42 -0400 Received: from [192.168.178.101] ([82.69.79.175]) by :SMTPAUTH: with ESMTPSA id pfpiuzdDfCz6Jpfpku7Vl4; Fri, 22 Aug 2025 21:26:28 -0700 X-CMAE-Analysis: v=2.4 cv=aJapab9m c=1 sm=1 tr=0 ts=68a942f4 a=84ok6UeoqCVsigPHarzEiQ==:117 a=84ok6UeoqCVsigPHarzEiQ==:17 a=IkcTkHD0fZMA:10 a=VwQbUJbxAAAA:8 a=1e90g7Q1OAnOSx1Gz0IA:9 a=QEXdDO2ut3YA:10 Feedback-ID: 636b72355348f86aae7fc3ddd9cf8d60:squashfs.org.uk:ssnet X-SECURESERVER-ACCT: phillip@squashfs.org.uk Message-ID: Date: Sat, 23 Aug 2025 05:26:26 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-GB From: Phillip Lougher Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfOjBtfsjPbHGma4Tx3qTj/oFjB07y2LCdgzLgKsVFmsOLlSOTYLE5ErQEjEosZsjuWKlpa/wclZ2yU1I2t9vmV6nKxyILCZwpBuJ8Tn5xPbSheZzv8uJ HtjH+POLD0JK4dcnU6pHRSTDAbtY2Vt1M9rxiDI3CcXMtGT8aTJCopIoLrSaXJg9Qp9gK5MqALhJvbRwd+qiDOuNkpcTPunvuiXlkSJEatK07bJMiyPk2Cf+ Received-SPF: pass client-ip=92.204.81.247; envelope-from=phillip@squashfs.org.uk; helo=sxb1plsmtpa01-16.prod.sxb1.secureserver.net 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Sat, 23 Aug 2025 00:32:32 -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 (-) Padraig Brady wrote: > with --sparse=always. squashfs is giving the wrong info here after all, right? No Squashfs is not giving the wrong information here. Support for SEEK_HOLE/SEEK_DATA is not mandated, and no Linux filesystem is required to support it. What you are seeing here is the default Linux VFS behaviour. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/read_write.c#n102 Phillip --- Squashfs author and maintainer From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 16:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Phillip Lougher Cc: jallison@ciq.com, 79267@debbugs.gnu.org Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.17559676094881 (code B ref 79267); Sat, 23 Aug 2025 16:47:02 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 16:46:49 +0000 Received: from localhost ([127.0.0.1]:41496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uprOD-0001Gf-7s for submit@debbugs.gnu.org; Sat, 23 Aug 2025 12:46:49 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:35330) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uprOA-0001GO-2K for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 12:46:47 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 612333C2C1F4A; Sat, 23 Aug 2025 09:46:39 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id pGpFxyD4ImyL; Sat, 23 Aug 2025 09:46:39 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 39C7D3C2C1F52; Sat, 23 Aug 2025 09:46:39 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 39C7D3C2C1F52 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755967599; bh=rmDYeCj551PDkPqu44D29NJ5zZM7sD89KYZOSmo3NaU=; h=Message-ID:Date:MIME-Version:To:From; b=bmmrUmPkOw6OFeLge7Lb55zLf899gn9djWNJpD8itc+rMBfjXdnayCG6jCsKdUupM vp01RjR97ZayI/TIBqq68XF/kQUoHXafAjyIVCJ0HS9CGhyYiOmzGW2CpdJ9SWUQ+m ao9BJadO37F+9ZR/RUBdOVN0CzMLWW3lPddTDVeCdrxvH9MTC/i6GHxiATaMxf9dLA vngE5zxROJ4vK2Hk/1rmiCnzOqLxgovw/D2qzwsurDzNtoXUVP1HAoYhXcjlKrRWxz evovjUY/4+4yC99tMEuLOeB1nI6tQqLEs/V6gyKwGBUW1RL+JhE56ldubTEodGdOkp ACnbQTWWFzLjw== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id FXUFZOmHpS3P; Sat, 23 Aug 2025 09:46:39 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-18-19.fdr01.snmn.ca.ip.frontiernet.net [47.154.18.19]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 1A34D3C2C1F4A; Sat, 23 Aug 2025 09:46:39 -0700 (PDT) Message-ID: Date: Sat, 23 Aug 2025 09:46:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 (-) On 2025-08-22 19:11, Phillip Lougher wrote: > any Squashfs SEEK_HOLE/SEEK_DATA implementation will not > behave like other Linux filesystems, because it won't report sparseness > at the 4K granularity that most people or programs will expect it to. Coreutils doesn't expect 4 KiB granularity for LSEEK_DATA+LSEEK_HOLE, and I don't know of any programs that do expect it. I fail to see why squashfs should penalize the performance of core programs like 'cp' merely because some (which?) programs are poorly written. From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 18:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert , Jeremy Allison Cc: 79267@debbugs.gnu.org, hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175597208118156 (code B ref 79267); Sat, 23 Aug 2025 18:02:01 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 18:01:21 +0000 Received: from localhost ([127.0.0.1]:41647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upsYK-0004im-IY for submit@debbugs.gnu.org; Sat, 23 Aug 2025 14:01:21 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:49182) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1upsYH-0004iV-IT for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 14:01:18 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-45a1b0bde14so17565905e9.2 for <79267@debbugs.gnu.org>; Sat, 23 Aug 2025 11:01:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755972071; x=1756576871; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=RNiMP2PSe9xMVmW5NmHBSc4rbMQEVseSFpKCC1RnQBc=; b=junA4q372OenJUkG47X83lKyL3pv9Lajr7cHmh4rV1ykzr2A7YuehVAGNxUkV5UerV qlClNqFyWJF/ePrjVWpQLKfzKLMkCNeR3IvpHRpbzQBp2RSMQvvYKVvvEA1K29YtAHjG +PiJOMHA0Kewc1PaQQw7LDn60SwZCb1Y6GQjMlFQWUNAqXSR5Y02whJcOtBHe48YQIIK j2BzbrceqtMQtXtDjFSP4mhKhasl0SPrK11cPW4f5w6vin3vTcebvE4+7rsocy2jrwkV fIBL3s71Cj1Mc1KR//nvGOpYPdyeOU+ijr0Wuna0oOREoJIFnyv2X7fLGeJ60zVmhiy9 5Eow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755972071; x=1756576871; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=RNiMP2PSe9xMVmW5NmHBSc4rbMQEVseSFpKCC1RnQBc=; b=emcG+f1KIfutC3VygzLA8uEEwZ6zJQ/gmG2Wue4QwYLw8WPpgdvRZ6ai62GowBp6gG 989gMVp9eQt0V1aDSi6yPmx+xKl2NBJsoD9VhpfyMWn4ARHH/KIUPr9vhiYL9CkBJypL DzRJpqXc/GwICPeSOjtwRN/6xadPKcflGRDu0M6651IuwDvc4TvYp/j8DrZ40z/XJTmY dHfi3JVbfaYnKhOQDc/OqAFZ39TwV0sP5uGwc+MHz8tle+4dPtThBgk/+qkfGj+uVZIE PcOG/dozYIsWgOazLGZNiL5DcDqMyiLw7h7QZhQRRhAy/wa9u4FQWy28EyUEg0v60cm8 SdmA== X-Gm-Message-State: AOJu0YyA5tt/qQflMfIZ2gl8mlxN0gmtMJL2kamTDb4yNpPfsMO1SVbk cBHOd7M4sGSbFwcG9Cj4Wn1p+CmgNy1hBA4IA8aFUZ2tBR6r5C/pR+S6 X-Gm-Gg: ASbGncsmHz2KDCu00JOAX6JHyb4eW3de0GoQyeewTffMPNq1+OXMTOA6ojDE5h6UraJ md48YAGiIl+bYDFvd3or4WH9LFO5hjgY5kCgU0segjNQJSQR+oRijPHLXKV1WL3Mc+2NQiq5/Wj /8vMk6+UWkjw2g1NF1YRvn9x97rqj0Y5+OVJAWGHxL1z5DhPE+JMo2Ng0EeG4EQ+8UKvloZY6DO IcWG4Ztjic8Ni6wlkhn3Lf13+i0cL3stvZ2QfSJFnDulDv/hQ6JFETQjCGkovOsByCV9IGCLugE ueQO9d7ee4d0Z3gmXvmGoI+k/MzL3hAvO6b+zfZh4W1yoQidZJeE++LXjH6U8WqjKIC7B+xNY70 2IdRReh3quYxZM164vC2qFK4cFwTNxW8vSDRsDlG9jihu7upzMcADOx6V/yuiE8ND9/buUvyGvn 45dg== X-Google-Smtp-Source: AGHT+IEX3Kv8U6V9BJTk5/dBZnBns+zNnxpetRe5mx2Qc6Jh+E97yrt3gR/bHlr8uIZKCrkJ0B/HKw== X-Received: by 2002:a05:600c:1c8d:b0:459:443e:b177 with SMTP id 5b1f17b1804b1-45b5b8c69damr12920325e9.25.1755972070902; Sat, 23 Aug 2025 11:01:10 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-45b57498d9csm42343145e9.22.2025.08.23.11.01.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 23 Aug 2025 11:01:10 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Z1IlO0WP0kIM9Igab1Ranayx" Message-ID: <8d681c94-1af0-48c1-900a-1a0f0692568f@draigBrady.com> Date: Sat, 23 Aug 2025 19:01:09 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> <7fe26671-f51a-44f2-8842-66f86c7f2c4e@draigBrady.com> <9da6d436-8063-4b3c-a903-2e57fddf4fcb@cs.ucla.edu> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: <9da6d436-8063-4b3c-a903-2e57fddf4fcb@cs.ucla.edu> X-Spam-Score: 0.0 (/) 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 (-) This is a multi-part message in MIME format. --------------Z1IlO0WP0kIM9Igab1Ranayx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 23/08/2025 01:48, Paul Eggert wrote: > On 8/22/25 07:04, Pádraig Brady wrote: >>       /* Copy this extent, looking for further opportunities to not >>          bother to write zeros if --sparse=always, since SEEK_HOLE >>          is conservative and may miss some holes.  */ >> >> So the comment needs to be tweaked, but a more general issue >> is that it disables copy offloading (copy_file_range) for sparse files. > > Ouch, I didn't see that. That's a real loss. I installed the first > attached patch to revert that part of my recent change. Cool. I'll push the attached test to enforce this > I assume the part of the change that always punches holes is OK. I > couldn't see why one would not want to punch a hole if one has already > taken the trouble to find and create the hole. Fair enough. It simplifies the code anyway. >> BTW commit 26bf557 also changed this a couple of weeks ago >> without updating the comment, so the comment relates to sparse_mode != >> SPARSE_ALWAYS. > > Not quite following but I hope the comment is OK now with the first > patch installed. Right, I missed that commit 26bf557 didn't actually change the logic for this line, only the syntax. thanks! Padraig --------------Z1IlO0WP0kIM9Igab1Ranayx Content-Type: text/x-patch; charset=UTF-8; name="cp-copy-offload-nfs-test.patch" Content-Disposition: attachment; filename="cp-copy-offload-nfs-test.patch" Content-Transfer-Encoding: base64 RnJvbSA2YzY2OGRjMTMzYWY3ZDM3NDc5MGMxZGE2NjZhNzAxZTIxNjgyYTM1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogU2F0LCAyMyBBdWcgMjAyNSAxODo1MzoxNyAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzOiBjcDogZW5zdXJlIGNvcHkgb2ZmbG9hZCBp cyBub3QgZGlzYWJsZWQgZm9yIHNwYXJzZQogZmlsZXMKClJlbGF0ZWQgdG8gY29tbWl0cyB2 OS4xLTEwOS1nODc5ZDIxODBkIGFuZCB2OS43LTI0OC1nMzA2ZGU2YzI2CgoqIHRlc3RzL2Nw L3NwYXJzZS1wZXJmLnNoOiBUaGlzIGVkZ2UgY2FzZSB3YXMgbWlzc2VkIGEgY291cGxlIG9m IHRpbWVzLApzbyBhZGQgYSB0ZXN0IHRvIGVuc3VyZSB3ZSBhdHRlbXB0IGNvcHkgb2ZmbG9h ZC4KLS0tCiB0ZXN0cy9jcC9zcGFyc2UtcGVyZi5zaCB8IDIxICsrKysrKysrKysrKysrKysr KysrLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS90ZXN0cy9jcC9zcGFyc2UtcGVyZi5zaCBiL3Rlc3RzL2NwL3NwYXJz ZS1wZXJmLnNoCmluZGV4IDhmNzM3Zjc5OC4uNWEyODNjMWZlIDEwMDc1NQotLS0gYS90ZXN0 cy9jcC9zcGFyc2UtcGVyZi5zaAorKysgYi90ZXN0cy9jcC9zcGFyc2UtcGVyZi5zaApAQCAt MTgsOCArMTgsMjcgQEAKIAogLiAiJHtzcmNkaXI9Ln0vdGVzdHMvaW5pdC5zaCI7IHBhdGhf cHJlcGVuZF8gLi9zcmMKIHByaW50X3Zlcl8gY3AKK2NsZWFudXBfKCkgeyBybSAtcmYgIiRv dGhlcl9wYXJ0aXRpb25fdG1wZGlyIjsgfQorLiAiJGFic19zcmNkaXIvdGVzdHMvb3RoZXIt ZnMtdG1wZGlyIgorCisjIENyZWF0ZSBhIHNwYXJzZSBmaWxlIG9uIGFub3RoZXIgcGFydGl0 aW9uIHRvIGF2b2lkIHJlZmxpbmtpbmcKKyMgdGh1cyBleGVyY2lzaW5nIG1vcmUgY29weSBs b2dpYworCitvdGhlcl9wYXJ0aXRpb25fc3BhcnNlPSRvdGhlcl9wYXJ0aXRpb25fdG1wZGly L2sKK3ByaW50ZiB4ID4gJG90aGVyX3BhcnRpdGlvbl9zcGFyc2UgfHwgZnJhbWV3b3JrX2Zh aWx1cmVfCit0cnVuY2F0ZSAtczFNICRvdGhlcl9wYXJ0aXRpb25fc3BhcnNlIHx8IGZyYW1l d29ya19mYWlsdXJlXworCisjIGNwIHNob3VsZCBub3QgZGlzYWJsZSBhbnl0aGluZyBieSBk ZWZhdWx0LCBldmVuIGZvciBzcGFyc2UgZmlsZXMuICBGb3IgZS5nLgorIyBjb3B5IG9mZmxv YWQgaXMgYW4gaW1wb3J0YW50IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IGZvciBzcGFyc2Ug ZmlsZXMgb24gTkZTLgorY3AgLS1kZWJ1ZyAkb3RoZXJfcGFydGl0aW9uX3NwYXJzZSBrMiA+ Y3Aub3V0IHx8IGZhaWw9MQorY21wICRvdGhlcl9wYXJ0aXRpb25fc3BhcnNlIGsyIHx8IGZh aWw9MQorZ3JlcCAnOiBhdm9pZGVkJyBjcC5vdXQgJiYgeyBjYXQgY3Aub3V0OyBmYWlsPTE7 IH0KKworCisKKyMgQ3JlYXRlIGEgbGFyZ2UtYnV0LXNwYXJzZSBmaWxlIG9uIHRoZSBjdXJy ZW50IHBhcnRpdGlvbi4KKyMgV2UgZGlzYWJsZSByZWxpbmtpbmcgYmVsb3csIHRodXMgdmVy aWZ5aW5nIFNFRUtfSE9MRSBzdXBwb3J0CiAKLSMgQ3JlYXRlIGEgbGFyZ2UtYnV0LXNwYXJz ZSBmaWxlLgogdGltZW91dCAxMCB0cnVuY2F0ZSAtczFUIGYgfHwKICAgc2tpcF8gInVuYWJs ZSB0byBjcmVhdGUgYSAxIFRpQiBzcGFyc2UgZmlsZSIKIAotLSAKMi41MC4xCgo= --------------Z1IlO0WP0kIM9Igab1Ranayx-- From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Phillip Lougher Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 18:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: jallison@ciq.com, 79267@debbugs.gnu.org Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175597366422480 (code B ref 79267); Sat, 23 Aug 2025 18:28:01 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 18:27:44 +0000 Received: from localhost ([127.0.0.1]:41673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upsxs-0005qW-8o for submit@debbugs.gnu.org; Sat, 23 Aug 2025 14:27:44 -0400 Received: from sxb1plsmtpa01-10.prod.sxb1.secureserver.net ([188.121.53.106]:55439) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upsxp-0005qE-3N for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 14:27:41 -0400 Received: from [192.168.178.101] ([82.69.79.175]) by :SMTPAUTH: with ESMTPSA id psxYuAEAGL5HTpsxbuZbYg; Sat, 23 Aug 2025 11:27:27 -0700 X-CMAE-Analysis: v=2.4 cv=SK0blOvH c=1 sm=1 tr=0 ts=68aa0810 a=84ok6UeoqCVsigPHarzEiQ==:117 a=84ok6UeoqCVsigPHarzEiQ==:17 a=IkcTkHD0fZMA:10 a=pkprTe0YFexK7pAq_uMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 Feedback-ID: 1cff3af7d18f547905ddf01a9d2fcf00:squashfs.org.uk:ssnet X-SECURESERVER-ACCT: phillip@squashfs.org.uk Message-ID: <66ae8ec6-25f1-44ee-974e-84871118f352@squashfs.org.uk> Date: Sat, 23 Aug 2025 19:27:24 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: en-GB From: Phillip Lougher In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfHGBHLBQWo0+XAi1SKWzp24fG9AbiWWK4fInJoYvHtMkHvHHD0uwY0igc3JG5TbX1xyNLIfuLTBv2nKfEfu+k6vOoSTnDlc0OEUPKJwa27aAUuYwXj4a h+JwiK0NBya/klYQtihcXiORZf1buGN/UDBaoPLtSi830RvzAfrTYpXWGgvxvTb7YblgODPOHoeVJNfB9M3EFxEjnSBU/4GRJYynDUeALvu4rZlfWDTp8BCi rmoFcnNX+For7J+mbEv+RQ== X-Spam-Score: 0.0 (/) 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 (-) On 23/08/2025 17:46, Paul Eggert wrote: > On 2025-08-22 19:11, Phillip Lougher wrote: >> any Squashfs SEEK_HOLE/SEEK_DATA implementation will not >> behave like other Linux filesystems, because it won't report sparseness >> at the 4K granularity that most people or programs will expect it to. > > Coreutils doesn't expect 4 KiB granularity for LSEEK_DATA+LSEEK_HOLE, > and I don't know of any programs that do expect it. I fail to see why > squashfs should penalize the performance of core programs like 'cp' > merely because some (which?) programs are poorly written. Yeah let's take the attitude everyone writes well written programs, and if they don't it's their fault when they unexpectedly break in production.   In reality a lot of code in embedded Linux systems is dreadful, written by inexperienced programmers. Anyway, my email was pointing out that the SEEK_HOLE behaviour being complained about is the default Linux VFS behaviour.  So this isn't about Squashfs. Go into the Linux kernel fs directory and run the following script. % yes=""; no=""; for i in *; do if [ -d $i ]; then l=$(find $i -name "*.[ch]" | xargs grep SEEK_HOLE | wc -l); if [ $l -ne 0 ]; then yes+=" "$i ; else no+=" "$i; fi; fi; done; yc=$(echo $yes | wc -w); nc=$(echo $no | wc -w); echo -e "\nSEEK_HOLE"=$yc $yes; echo -e "\nNo SEEK_HOLE"=$nc $no SEEK_HOLE=18 bcachefs btrfs cachefiles ceph erofs ext4 f2fs fuse gfs2 hpfs iomap nfs nfsd ocfs2 orangefs overlayfs smb xfs No SEEK_HOLE=60 9p adfs affs afs autofs befs bfs coda configfs cramfs crypto debugfs devpts dlm ecryptfs efivarfs efs exfat exportfs ext2 fat freevxfs hfs hfsplus hostfs hugetlbfs isofs jbd2 jffs2 jfs kernfs lockd minix netfs nfs_common nilfs2 nls notify ntfs3 omfs openpromfs proc pstore qnx4 qnx6 quota ramfs resctrl romfs squashfs sysfs tests tracefs ubifs udf ufs unicode vboxsf verity zonefs This picks up some false positives, but there are much more filesystems which don't support SEEK_HOLE than those that do.  If you think this is a problem with the Linux kernel then by all means raise it on the linux kernel mailing list. Cheers Phillip From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Phillip Lougher Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 18:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: jallison@ciq.com, 79267@debbugs.gnu.org Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175597478425989 (code B ref 79267); Sat, 23 Aug 2025 18:47:01 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 18:46:24 +0000 Received: from localhost ([127.0.0.1]:41694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uptFw-0006l7-4a for submit@debbugs.gnu.org; Sat, 23 Aug 2025 14:46:24 -0400 Received: from sxb1plsmtpa01-11.prod.sxb1.secureserver.net ([188.121.53.115]:48919) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uptFs-0006kn-JB for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 14:46:22 -0400 Received: from [192.168.178.101] ([82.69.79.175]) by :SMTPAUTH: with ESMTPSA id ptFdunnQZq6WwptFfuh0Sb; Sat, 23 Aug 2025 11:46:07 -0700 X-CMAE-Analysis: v=2.4 cv=P6djRiAu c=1 sm=1 tr=0 ts=68aa0c6f a=84ok6UeoqCVsigPHarzEiQ==:117 a=84ok6UeoqCVsigPHarzEiQ==:17 a=IkcTkHD0fZMA:10 a=qNksRwR03BRfUouxIbAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 Feedback-ID: 1cff3af7d18f547905ddf01a9d2fcf00:squashfs.org.uk:ssnet X-SECURESERVER-ACCT: phillip@squashfs.org.uk Message-ID: <3923c5b5-ca5a-49a8-8447-95091ee06d7b@squashfs.org.uk> Date: Sat, 23 Aug 2025 19:46:05 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: Content-Language: en-GB From: Phillip Lougher In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfN7R8zuJqRiZbLSOTT3cpY1CiO4EwGDyx2/jfal+UJ5MmbjBS+ljw278dmpwd/lV1vnEjcuADRKsPrk8/JxrxiXMpXEr0/lgPlgfaiavScEwxtym5G+v smUvKV7hrpziDZ+gbS1Tcg3vQs43BLb7rS2JEDE1E/1sGthUViFbKPDatwi6EMe2osA4LUU5notRdFUHt/gWzwemauB3yF5zSMx/zD4b9rWdZVAl9ag1wl4S nefk2PihNPZ1QQXnU57ogA== X-Spam-Score: 0.0 (/) 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 (-) On 23/08/2025 17:46, Paul Eggert wrote: > On 2025-08-22 19:11, Phillip Lougher wrote: >> any Squashfs SEEK_HOLE/SEEK_DATA implementation will not >> behave like other Linux filesystems, because it won't report sparseness >> at the 4K granularity that most people or programs will expect it to. > > Coreutils doesn't expect 4 KiB granularity for LSEEK_DATA+LSEEK_HOLE, > and I don't know of any programs that do expect it. I fail to see why > squashfs should penalize the performance of core programs like 'cp' > merely because some (which?) programs are poorly written. As far as Squashfs is concerned SEEK_HOLE/SEEK_DATA is easy to implement.  So I'll think about adding it as a build option. But this isn't going to fix it for any other case. Phillip From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 19:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Phillip Lougher Cc: jallison@ciq.com, 79267@debbugs.gnu.org Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175597567428600 (code B ref 79267); Sat, 23 Aug 2025 19:02:01 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 19:01:14 +0000 Received: from localhost ([127.0.0.1]:41717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uptUI-0007RD-78 for submit@debbugs.gnu.org; Sat, 23 Aug 2025 15:01:14 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:56106) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uptUC-0007Qh-FO for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 15:01:12 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 5BC743C2C1F58; Sat, 23 Aug 2025 12:01:02 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id P5C1Yci4AeJp; Sat, 23 Aug 2025 12:01:02 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 33F183C2C1F5E; Sat, 23 Aug 2025 12:01:02 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 33F183C2C1F5E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755975662; bh=EKmPmDGB5SWQgamfNtyM/JVCXANWgdgSzz3pegmZhpo=; h=Message-ID:Date:MIME-Version:To:From; b=WPIAXHqoN1ZdvpiMfObX/etbObb9D3dgBFS7SlM6CeduT9R5eMvH+KNFV9BCcEGjh 28J+jiH86avE0BByuIEr/ySD9YfvAw/qz3z6Yo1H9f8ZVLgt0u2QXnj/rHQYE8oMeR El/fE+iSa9ff3eFV+bBx//6tSOBV0Zg1Wp7OXL+3MyMnatVOu9Qusr0wDJArT1+DrY W5W1I6lmcOjNJKqiazR6y3wOGC6/6xbDVkMkKUdsrcqz6ei8wRPhUqZbhhfgVtQ9FD noOfQY953Bt7fHlAjlCzSlUNQpfS2W390sERuB5NJaw72nOhuAFzdIKxWnGwPPNxK0 WiHP6u+3sbW3Q== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id Bdw0N3HxVBEo; Sat, 23 Aug 2025 12:01:02 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-18-19.fdr01.snmn.ca.ip.frontiernet.net [47.154.18.19]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 13B533C2C1F58; Sat, 23 Aug 2025 12:01:02 -0700 (PDT) Message-ID: <2b282af3-c5b5-4ac1-b20d-7071cc6fd322@cs.ucla.edu> Date: Sat, 23 Aug 2025 12:01:01 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <66ae8ec6-25f1-44ee-974e-84871118f352@squashfs.org.uk> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <66ae8ec6-25f1-44ee-974e-84871118f352@squashfs.org.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) On 2025-08-23 11:27, Phillip Lougher wrote: > Yeah let's take the attitude everyone writes well written programs, and= if they don't it's their fault when they unexpectedly break in productio= n. In reality a lot of code in embedded Linux systems is dreadful, writ= ten by inexperienced programmers. Inexperienced programmers don't use SEEK_HOLE or SEEK_DATA. Several commonly-used programs would benefit from proper support for=20 SEEK_HOLE and SEEK_DATA. What programs would be hurt? If nobody knows of=20 such programs, we should be skeptical of the argument that support would=20 be dangerous. To be honest I can't think of why it would hurt in=20 practical programs. > Anyway, my email was pointing out that the SEEK_HOLE behaviour being=20 > complained about is the default Linux VFS behaviour.=C2=A0 So this isn'= t=20 > about Squashfs. Yes it is. The default behavior is appropriate for simple file systems=20 that lack extents. However, Squashfs is not such a file system. If=20 Squashfs has extents but does not expose them to user code, user code=20 can be waaaaaayy less efficient. And this isn't merely an efficiency issue. It can be a security issue,=20 as sparse files can be used for denial-of-service attacks. I assume=20 efficiency and security are of concern to Squashfs users, which is why I=20 press this point. From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sat, 23 Aug 2025 19:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Phillip Lougher Cc: jallison@ciq.com, 79267@debbugs.gnu.org Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175597579728821 (code B ref 79267); Sat, 23 Aug 2025 19:04:01 +0000 Received: (at 79267) by debbugs.gnu.org; 23 Aug 2025 19:03:17 +0000 Received: from localhost ([127.0.0.1]:41727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uptWH-0007Un-4n for submit@debbugs.gnu.org; Sat, 23 Aug 2025 15:03:17 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:47524) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uptWE-0007UY-JF for 79267@debbugs.gnu.org; Sat, 23 Aug 2025 15:03:14 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E8EF63C2C1F5E; Sat, 23 Aug 2025 12:03:08 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id oKimyGUYLUW1; Sat, 23 Aug 2025 12:03:08 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id BCADD3C2C1F5F; Sat, 23 Aug 2025 12:03:08 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu BCADD3C2C1F5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1755975788; bh=XpM1blGEsEOVtmpV4Wl4PX0Sqa+TMyJjZxpi+g9xZl4=; h=Message-ID:Date:MIME-Version:To:From; b=eZUydh/6hfBPAUhH355lZ2tSCTWGHCF2i2AJAefohUJb3j6aGMtLDGpEuIMq4hat2 Cg24Vses+j51oAyJVvR+FELMaEp88Mhxq1olNMRPqbOMr+zxEUZGGj8xhTpx1fL3re 6S2NOtYZ5OkC/8v7P14xMiiokDAowQGaMSM/gkSY0ewsLKq6DVh5lJX6iG2QSNNgF3 HYzx4lqfcCv80OdVqP4EXWx3Z+geObujrLpAL7v2kl/VWaXVZ11p0cpMmuvU/67cG3 d8X8RB/l/qlx6rcCMCd1NdQu/qrGz5TZrG4uLPjjS0z8dmvjXh5NyOfRWSJyOMx38c B8gX8Yoy8lVkQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id jN2nvldlc95k; Sat, 23 Aug 2025 12:03:08 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-18-19.fdr01.snmn.ca.ip.frontiernet.net [47.154.18.19]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 991C33C2C1F5E; Sat, 23 Aug 2025 12:03:08 -0700 (PDT) Message-ID: Date: Sat, 23 Aug 2025 12:03:08 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <3923c5b5-ca5a-49a8-8447-95091ee06d7b@squashfs.org.uk> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <3923c5b5-ca5a-49a8-8447-95091ee06d7b@squashfs.org.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) On 2025-08-23 11:46, Phillip Lougher wrote: > As far as Squashfs is concerned SEEK_HOLE/SEEK_DATA is easy to=20 > implement.=C2=A0 So I'll think about adding it as a build option. Thanks, that'll be helpful. > But this isn't going to fix it for any other case. Right, and bleeding-edge coreutils already has a (slowish) workaround=20 for Squashfs as-is, as well as for other file systems that don't expose=20 extents to user code. If I get around to it I will install similar=20 workarounds in other user code I help maintain. From unknown Thu Sep 11 13:55:19 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79267: cp --sparse=auto heuristic fails on a squashfs mounted drive. Resent-From: Jeremy Allison Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 25 Aug 2025 16:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79267 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 79267@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig?= Brady , hvanderwal@ciq.com Received: via spool by 79267-submit@debbugs.gnu.org id=B79267.175613927230842 (code B ref 79267); Mon, 25 Aug 2025 16:28:02 +0000 Received: (at 79267) by debbugs.gnu.org; 25 Aug 2025 16:27:52 +0000 Received: from localhost ([127.0.0.1]:50963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uqa2y-00081M-4Z for submit@debbugs.gnu.org; Mon, 25 Aug 2025 12:27:52 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]:49510) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uqa2t-000811-9o for 79267@debbugs.gnu.org; Mon, 25 Aug 2025 12:27:49 -0400 Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-32326e67c95so5067067a91.3 for <79267@debbugs.gnu.org>; Mon, 25 Aug 2025 09:27:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ciq.com; s=s1; t=1756139260; x=1756744060; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3UOgMPladKN6TF2rQZGWBdoDQC/bkt9PlglJk7g0DB8=; b=n2GM3H87kGM51bSF8yAsXpaEvw4ddvzNsFsVH3AOHrzacAlYqwUs55FD+rpxGWQsGd Q8GddGeuc5sLFjDl2aI6srZRzQFHMzIyS2WrXG3pRm8UXhBK6XVZNn518ZNTTVSe8oIH p95NxW5CIB4ad401bgfYnN9HsBnyHS62aiR0wwAmHDJiOlRaC5/vCiW0XNlwApIR+ESS UiW7a2Jdsa5PaApVWxPpSZf2F3cQ3DR6Wi0B5duiwXTCwPvi+lZeUuIs2a5hiPnZQhcp t4zMCGFn55AIs6M9rcvb/P3IVOF1GLr080Fqj5XInAqBHte3CwnofWE7lGi7tIPfyYBJ KhSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756139260; x=1756744060; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3UOgMPladKN6TF2rQZGWBdoDQC/bkt9PlglJk7g0DB8=; b=J27SBJ+gfNrf+Ek1v3uggWigTcpjYc/z9DtDbOAbwNQMObtrUi1YlEg0wRXD5FE9d6 07lePo7zFpW5HfwvxbTnXnYA/eYGb9x06XMcrzgE11iOqkAJtzj0zLa0C7NREBbnH4ni /G/oCVBsb6YaOI6EE4sMhNCEFwZl9rYPAGCctSVDWHEAwrkfnn1IzGGeGNsZW04IkLcB q9jT3rxR2BjEISs+t1DyHv2qscsWfl7IvkEshJt99rM/evPO5jbV+BDGGNBeACzI7Zm/ DF3ZgifINfL2AULZakVOi25Jzos7RoKPkZ9OkF4IXr2pzn33EYfj5GXYod0KKhuAS1TC skxQ== X-Forwarded-Encrypted: i=1; AJvYcCWueRFnDX396+Pp3LNjyrnMWlqE/Ab0kkivCtBiA9bkDqUztQBwvTDtOxrKXXFnpuRIxB9w1g==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwAeqPLy/r5Hljc1vfunmoD0O3b1Menz/b6tv3S4mlozN2COqJ+ Vf09o6+Jnsy3orb4UPysjB3pLuVaycHj5+fdr/OrIS90QG1nKhxtUdM/MQ5f2VlcHe6679Y/o4y mw/+CYDhL4o4jF3BEioL+ybdWdoNVQb7CUO1sqfPnXg== X-Gm-Gg: ASbGnct7E8Q6ZUyjy0KUUL4ulwK0HRbWMwsbFH0HmCAw7GDNdjxOtWbasH534CpfhyH cxzBawT6W69u3R3tFoXXhwmH/Vrc4Z/HnB/GtiZgkFz5gXwIzleVMQVwiYSOk51PKRWVbRCvtBS AOT23HirVfIhJbYw+FITmUNN2TL7oXeYgTchxnLn3gpRp1AQ+pTRMJEOA81g8Z01SainzEMZTM3 CT23kiTrlkYQbXk X-Google-Smtp-Source: AGHT+IGO1DNESKvWqJAsmH+vVELJCc1jqF7LXGBfBjfkf7UWNjiDN1Wf7BS1hDY5a1NSO6qY3NlMeZ0XwDI/JidDcEg= X-Received: by 2002:a17:90a:fc50:b0:325:59ca:d138 with SMTP id 98e67ed59e1d1-32559cad18emr9552017a91.30.1756139259989; Mon, 25 Aug 2025 09:27:39 -0700 (PDT) MIME-Version: 1.0 References: <7dab926f-54eb-4fdd-8d1a-264b59cf1338@cs.ucla.edu> <7fe26671-f51a-44f2-8842-66f86c7f2c4e@draigBrady.com> <9da6d436-8063-4b3c-a903-2e57fddf4fcb@cs.ucla.edu> In-Reply-To: <9da6d436-8063-4b3c-a903-2e57fddf4fcb@cs.ucla.edu> From: Jeremy Allison Date: Mon, 25 Aug 2025 09:27:28 -0700 X-Gm-Features: Ac12FXyqK4961ResBqAQ9WH37JZUMQdCx70_pSTJ4PgNGAiHyv0Fjhk-hWZiVrs Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) 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 (-) Hi Paul, I tested with the code currently in the master branch in coreutils - top of tree respec is 4bfcf62f74b38d762ee06ceef582c326023635a9. This current code still fixes my testcase thanks ! For full reference, it contains the 3 relevant patches: commit 6c668dc133af7d374790c1da666a701e21682a35 Author: P=C3=A1draig Brady Date: Sat Aug 23 18:53:17 2025 +0100 tests: cp: ensure copy offload is not disabled for sparse files Related to commits v9.1-109-g879d2180d and v9.7-248-g306de6c26 * tests/cp/sparse-perf.sh: This edge case was missed a couple of times, so add a test to ensure we attempt copy offload. commit 39f22fe687ea0c226e3fb35e86cd5ea329180b80 Author: Paul Eggert Date: Fri Aug 22 17:34:04 2025 -0700 cp: improve hole handling on squashfs Better fix for problem reported by Jeremy Allison . * src/copy.c (struct scan_inference): New type, replacing union scan_inference. All uses changed. This is so infer_scantype can report the first hole's offset when known. (lseek_copy): 5th arg is now struct scan_inference const *, not just off_t. All uses changed. (infer_scantype): If SEEK_SET+SEEK_HOLE do not find a hole, fall back on ZERO_SCANTYPE. commit 306de6c2619e2a9339ade9a88d55c4940942d516 Author: Paul Eggert Date: Fri Aug 22 10:37:50 2025 -0700 cp: go back to copy_file_range optimization This reverts part of the previous change. * src/copy.c (lseek_copy): When calling sparse_copy, do not ask it to scan for zeros unless --sparse=3Dalways, so that it can use copy_file_range which can be far more efficient. Cheers, Jeremy. On Fri, Aug 22, 2025 at 5:48=E2=80=AFPM Paul Eggert wr= ote: > > On 8/22/25 07:04, P=C3=A1draig Brady wrote: > > /* Copy this extent, looking for further opportunities to not > > bother to write zeros if --sparse=3Dalways, since SEEK_HOLE > > is conservative and may miss some holes. */ > > > > So the comment needs to be tweaked, but a more general issue > > is that it disables copy offloading (copy_file_range) for sparse files. > > Ouch, I didn't see that. That's a real loss. I installed the first > attached patch to revert that part of my recent change. > > I assume the part of the change that always punches holes is OK. I > couldn't see why one would not want to punch a hole if one has already > taken the trouble to find and create the hole. > > > BTW commit 26bf557 also changed this a couple of weeks ago > > without updating the comment, so the comment relates to sparse_mode != =3D > > SPARSE_ALWAYS. > > Not quite following but I hope the comment is OK now with the first > patch installed. > > > squashfs is giving the wrong info here after all, > > right? > > Yes, that's the actual space-performance bug here. I installed the > second attached patch to try to work around it. > > Jeremy, can you please try these two further patches? Thanks.