DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5066DWbJ4006622 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 5066DWbJ4006622 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=YdLn1RsX X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7BB563858CDA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1736144011; bh=pbpuuDMw0/2HBMwKy3816YHI50IwFkyeNApStXm7zFc=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=YdLn1RsXgsMQrNO+vXP85Fw9hgc28xBjhDsVgWSvE9acNrOxco1x+nXer34M4KW/3 dZUz/xp+O050bJ4lCqDz/gIvmYhjj8CYHzpmCoz3s5GGC0VkkGDTBGUo/Hq73JZSKJ eWgPVfmwg8X23bW5ruOWZcP3SspBRVbAuuu4Bxqk= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53CB13858D21 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 53CB13858D21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736143987; cv=none; b=kfq52YSvtB4/qbx3LWSiWXOZjo4Xx704F/7BFOcTCFfbjNH9ziEbMyzn32kU68r03D0A7oRYU5OoGMJCqg8GK+fIxCJvc2wcWiqeKL5FStX0bagu9h2+3Pg5+mLai39P5vApi7ijrINKpwnU8zCsR2J27FUsjFwVl0SbSiqx9LE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736143987; c=relaxed/simple; bh=IFRy4la2m155WvfpqR9Htffxzem8b8MvFC3r/n/+t34=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=xgCVS8YhAydef1dgq1SYVMS0K3J1XpNVe3/DaZnk0XxBBaf7pErmtEHBoSYaXDlHjw10/80UfNdShiJRf6wYseUuYi4O/PpNoq6K0Ji/MfkZdJN/V85izYRIjxOEK4DHfb6otamz+f6WZVQHgB+irCn2p0OihZrZcXG34ln0P4k= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 53CB13858D21 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736143985; x=1736748785; h=content-transfer-encoding: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=IFRy4la2m155WvfpqR9Htffxzem8b8MvFC3r/n/+t34=; b=thq8sfsWCZKm15ugUyEw7prn5H3KS1B6CoVY0/+IbRaRxlvLgT+0DxlnYa0/ozzgIg xI/oMXfNufCcvUqEirYE0X0adMv1zvMd9HUvEatesbzG5PhKLHXw/zMxiFeduGQMuyiQ mYJb+zBFBDxey3/tg92G6amoKhYD4nD34RoczrB8VSJIeDKqpJJA8mNmRYs2LjXEcPhy l06cXpKv8kCddNMeLx+R7IUU/Bzqvlbh3Akij5AMoDUqN1/WP/prMhFrlOgq3JIzavzS 2IZvQDYWXSbQZ1VSr9OYExKtVgOeKHCUntqLSBHzeWYZHhtmkYTgL+j70gQZrJJyXMvL 95rw== X-Gm-Message-State: AOJu0Yx6I1wxtCTaDTerExfa4FW7Qlu/40t9YfACQ5pwB03zROZ1510Y v+8HMcK/Tque3HKGnPsiiARsQyYXHXfKWSY78EebHDPAzaqrxl1rBUNQPde0GAGXgyF3BmCZ3es SIN+HppBY7ilQ/htupNb4ZX5hvr64TA== X-Gm-Gg: ASbGncva6KcgdumIwD3XbJRvxCEcJPDu6laoTtT9Az33BB+PU+SqhDOkmzMRzwFsnlL BC6OgFPz9sHP5DuaJFgxrub0hhb0HO1ckKnE8P/Y= X-Google-Smtp-Source: AGHT+IFUkXMsQFwdovOVqOO2LaB0nGNt/vykF8e4HKZdDGCbNyRzJ/OELWqqcHqqUEkQFsMZ+xlm/maZAAeHbGd5/yY= X-Received: by 2002:a05:6402:4403:b0:5d6:37e5:792a with SMTP id 4fb4d7f45d1cf-5d81dd83bb5mr51262543a12.2.1736143985022; Sun, 05 Jan 2025 22:13:05 -0800 (PST) MIME-Version: 1.0 References: <0ddeea07-0b3d-442d-be13-cf9b2379311d AT gmail DOT com> <85bd6bb5-af90-4b5d-8262-9da3151c83ed AT SystematicSW DOT ab DOT ca> In-Reply-To: <85bd6bb5-af90-4b5d-8262-9da3151c83ed@SystematicSW.ab.ca> Date: Mon, 6 Jan 2025 07:12:00 +0100 Message-ID: Subject: Re: Cygwin copy_file_range() support with sparse file+FSCTL_DUPLICATE_EXTENTS_TO_FILE? To: cygwin AT cygwin DOT com X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Cedric Blancher via Cygwin Reply-To: Cedric Blancher Content-Type: text/plain; charset="utf-8" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 5066DWbJ4006622 On Sun, 5 Jan 2025 at 17:31, Brian Inglis via Cygwin wrote: > > 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? I know about sparse file support in Cygwin. My request was for sparse file support in copy_file_range() when Cygwin implements this function Ced -- Cedric Blancher [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur -- 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