On 2025-02-12 10:30, Corinna Vinschen via Cygwin wrote:
On Feb 12 17:32, Cedric Blancher via Cygwin wrote:
Good afternoon!

Is copying sparse files broken in 3.6.0-0.362.g68c13dc92f65.x86_64?

cp --version
cp (GNU coreutils) 9.5
Packaged by Cygwin (9.5-1

Checklist:
- Volume has FILE_SUPPORTS_SPARSE_FILES
- Cygwin mount has "sparse" option (mount Y: -o sparse,exec /cygdrive/y)
- source file has FILE_ATTRIBUTE_SPARSE_FILE set

But  cp --sparse=auto ... or any other combination of --sparse does
copy holes, i.e. turns 500GB of hole into 500GB of data (zero bytes).

echo "hello sparse file\n" >testcase17_sparse_begins_with_data && dd
if=/dev/null of=testcase17_sparse_begins_with_data oflag=append bs=1
count=1 seek=$((65536*512)) && echo "endoffile"
testcase17_sparse_begins_with_data

Works for me:

$ uname -r
3.6.0-0.362.g68c13dc92f65.x86_64

$ pwd
/home/corinna/tmp

$ mount | grep tmp
C:/cygwin64/home/corinna/tmp on /home/corinna/tmp type ntfs 
(binary,sparse,user,bind)

$ echo "hello sparse file\n" >testcase17_sparse_begins_with_data && dd if=/dev/null 
of=testcase17_sparse_begins_with_data oflag=append bs=1 count=1 seek=$((65536*512)) && echo "endoffile" 
>>testcase17_sparse_begins_with_data

$ ls -gGsh testcase17*
128K -rw----r--+ 1 33M Feb 12 18:22 testcase17_sparse_begins_with_data

$ cp --sparse=auto testcase17_sparse_begins_with_data 
testcase17_sparse_begins_with_data.copy

$ ls -gGsh testcase17*
128K -rw----r--+ 1 33M Feb 12 18:22 testcase17_sparse_begins_with_data
128K -rw----r--+ 1 33M Feb 12 18:23 testcase17_sparse_begins_with_data.copy

Hi Corinna,

Did you test using coreutils current stable 9.0, test 9.5, or both?

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to