DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 505GVspm3296751 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 505GVspm3296751 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=h/kSSeH0 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EAFFA3858D3C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1736094712; bh=46452ILjNb8C6muJ+s0D9Rn6AX2jwUh4sWDB42ULJuk=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=h/kSSeH0/ug9BvjHU05zbunf7ACHQSlwtsT66tizw7+kDBJFw/0WUa0uqe5APMexi Dgz5s95LAT8SH4x5LIudIwCz/1DA9gGIyMNC3v1Kq+x/tHwcuLtX919ZxAar8MqLpj mZCXAmADFUbhP8i1ejH6DOTpNTdWYKrGwncNuXcM= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 287C63858D21 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 287C63858D21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736094687; cv=none; b=Y+BogyvFf7IfD4AfpD1kOYQqhkrht7r4R9oaAedghw2uco4lqDq9D41FWmDqSu7A6iqtR2YsNq7iI03DEOEW1FaWD7p+LKZAV+yhIOVUzkOnXKttPw1rY7Wkl/3HRncOWrrQrL+OWFP/96r1l+baPc30P+nng/H8in8eCa+NGOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736094687; c=relaxed/simple; bh=b1DGhAtNLA6FXPts5k1yrqhDTEEcIuK3r1KPs1mIksE=; h=Message-ID:Date:MIME-Version:From:Subject:To:DKIM-Signature; b=qEJ/PboREU2JU1aKrjGcLjNrKpGwVkxnti8dNsaofRI/xcVGYgXVgUTvwI2UlkMJ/9F9G16nXyKXvDINMNniZWyQNRffu7acDR7CIIcz96Uro9RrBP0V53uWcpXsGR9zHMclEKq/tm6DxUn6yEUr2bdKO+geDUE/5yZn0OQVDL0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 287C63858D21 Message-ID: <85bd6bb5-af90-4b5d-8262-9da3151c83ed@SystematicSW.ab.ca> Date: Sun, 5 Jan 2025 09:31:24 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Cygwin copy_file_range() support with sparse file+FSCTL_DUPLICATE_EXTENTS_TO_FILE? Content-Language: en-CA To: cygwin AT cygwin DOT com References: <0ddeea07-0b3d-442d-be13-cf9b2379311d AT gmail DOT com> Organization: Systematic Software In-Reply-To: X-Stat-Signature: 53z9rh1icbcfbe8nwr3q4xk4xeao5xcp X-Rspamd-Server: rspamout07 X-Rspamd-Queue-Id: E59A72000E X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX1/KB8XCDgF+4qdhKDdg1UFbCZDV/NGZSaI= X-HE-Tag: 1736094684-617400 X-HE-Meta: U2FsdGVkX1+vlJQAfA0J/1gDJabOtVOCB5DV5lQ10L/QDx126ls3fxOxnlAUQxiLTc/sNEL5Rl4MaealpAVJijCUewMOuqeAV/tv6LNU6W083dd/qkz+FHI3haFoFE/LXZHR7ntXe2oiQDBn2iVqPQG8vk9vli5FFCq5tUQwMl74Yk42yMBUTyLOuECZbim6sdmV3GNIa9pHvzYdg/Tul740e/6L1XICot5JluCJeYiFk1VW1KyE4ggnQOaEiaEML6SLK0BflghTuvn/t6y1HgR+rMiE7srVVBw8KeJ0Aea/vLc7fGYRu+zu/Tzbx1gYYdABn7NY5+WjIDHeb2YzMpKSJCU+jMNRjad8L+dH91GP3V+UWxgxvuZZRa1JYdc1mYsfx7KjJ3NAvMG8BkRvFC4RVxbVjBY6WMPhZEdFsjFKNKutdMqd4Q== X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Inglis via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Brian Inglis Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 505GVspm3296751 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 >> > > 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