On 2025-01-05 06:52, Takeshi Nishimura via Cygwin wrote:
On Sun, Jan 5, 2025 at 1:06 PM Václav Haisman via Cygwin wrote:
On 05. 01. 25 7:31, Cedric Blancher via Cygwin wrote:
Could Cygwin implement copy_file_range() support, including sparse
file support so holes are preserved, and
FSCTL_DUPLICATE_EXTENTS_TO_FILE support?
In theory, this could be used to implement that function. In practice,
the block cloning is only supported by ReFS. See
<https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-fsctl_duplicate_extents_to_file>
All Windows Server (2019, 2022) installations we have. and those which
I know about, use ReFS (except in cases where Alternate Streams are
required).
AFAIK SMB3 also support FSCTL_DUPLICATE_EXTENTS_TO_FILE, so this would
be a HUGE win for Cygwin
Cygwin has supported sparse files since 2000, mount option to enable it for over
a decade, inode sparse ioctl flag for half that, and automatic support on SSDs
just over a year ago:
https://cygwin.com/git/?p=newlib-cygwin.git&a=search&st=commit&s=sparse&h=363357
https://cygwin.com/git/?p=newlib-cygwin.git;a=commitdiff;h=05297c
https://cygwin.com/git/?p=newlib-cygwin.git;a=blob_plain;f=winsup/cygwin/include/cygwin/fs.h
It works on NTFS, include remote mounts, but I don't know about other
filesystems?
--
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 à retirer 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