delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/06/27/11:55:02

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 65RFt1gY3413454
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 65RFt1gY3413454
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=T6lJf1Uj
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C56104BA23CE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1782575699;
bh=QwjomSkQZ91jMcXFMmqVYY38FC+orygYg1NpV1JCdkc=;
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=T6lJf1Uj4iA+wGMni6T1uzQgQXkMGj54g0a2PkjWrHq2GgsQGqqvbV+Q5imF8VhRF
pqnsekgGDhhRgVLML8PTAWlUBBKBhCPhbhcLFxUn8o3b4w6fvm6pO46rfERx0T8mho
zOoKl9veJxtEhGOweRjB00LShjtytW0x4bFxZwjA=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DE6374BA23C5
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DE6374BA23C5
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1782575651; cv=pass;
b=NZYTcatuDvWKSo/Of+6rH17zVrM5alWfp42BU2zEsnCPDAOEkxhO5p7cNoN6cRCb+b1v+nE9xhe3vbC1A2ZuV3K16bXyuFGlhQP7nI8k9Aqa41Cw4kBOTUSukngJHA+YM7OnZm9YFThGpA4ZkENml/v041EQnL2/hR+rsiinDNM=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
t=1782575651; c=relaxed/simple;
bh=gVnt2MX7O5JJlyk+Po+DUW23wwouO+lD63CJi/uTo3k=;
h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
b=B/oJvQ0iRn4B6fn/nYQlBj24Y9v1ae/XEu7ENNEz6GF0d4gh/DDL1vOWwUSk3isrmC4OyT9qtTpJiYDbp8yS6+FQojyQnx2Dg8AMzyyw6h1kD2JNH/md1yvFRvdWjCyPKXGIAn6etvYk25aT9bnZs8xJK9iXhyadGW2xnk5osO4=
ARC-Authentication-Results: i=2; sourceware.org;
dkim=pass (2048-bit key, unprotected)
header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104
header.b=kmVo1aJs
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DE6374BA23C5
ARC-Seal: i=1; a=rsa-sha256; t=1782575650; cv=none;
d=google.com; s=arc-20260327;
b=E4g9FsxdnOe5UMHrEsWdYHf3gMRQutgv4FE692thEVsRZSCtQD6hY+LwA99ojT9ICi
zxHViNSX7dxUAmHTFxfhY/FbpdyMFVvZUhH36/yxSWivZnZFS0QR95ZIGp4UyMOpw8cj
CFchkazZ5h/lg7hN/C9WmeQtiKnMPuG47EJmJdz2fSxyWtLy8mUOCuBdeK0qmPI1CDxC
0ErH7H5L407/imiywC61nw9aOxg8xss/FMHXPVnBEbG+AlFM1XSDyAmWmiVtQHSnEqMV
QwP6K4w+KEY6bUUChmMifXJ6UIKsgwzecbGmm/EgfII8MHZyG3XAx/1qnEXKD2Hv44JI
qCCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
s=arc-20260327;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:dkim-signature;
bh=KjVquCvewel8i+9EJfFOwkKpGtETyNiUfUF0Qrnqpf0=;
fh=UKNFaOBO97U3RYl3PEse//nArTqr7SLJjCCEBz281Ew=;
b=H0cnRBLsHyyuF4R0isXb9ynp/1a/Vw85KCajd/cVyZ863obb3ygI3Hq9O3o7CjXa20
vRAyYVip3MamTG+dR0jKis1l9psRQiMh4J9DUp9LzY0NGllR/iW0jxp8BkS2XocjvQUY
KAtY2t/lqS9Vqnm+biILvPrwhSyGIzr6ZnCk4vJ4oatV6g9yCwDk8fhkIAnzucfKON4O
uOoxDz22RFIFjkEUGk0TPcl3ae+rYwvrLPcj76g6DpMbbKk9WNrd+0F0lLs5Q3PBenVG
d/hkQsK2kP1C6OTullho85xLwaunRsd3CXEY+ckm3NbmNhpxfC2hLOuxn2Phco3dj9Zt
NN5A==; darn=cygwin.com
ARC-Authentication-Results: i=1; mx.google.com; arc=none
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20251104; t=1782575650; x=1783180450;
h=content-transfer-encoding:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=KjVquCvewel8i+9EJfFOwkKpGtETyNiUfUF0Qrnqpf0=;
b=hqHvJVoaIxaJ2PUCoVGY+DhUN4QfJ2V6Y8iLRaSlbp5F9hWkd/np460n2hq/455bHd
B6fCoqF5au7b96XyZFV2foqI1GPoTrJ+2cJdtlA/in5kDCVvBxJ/VV3m+7p6U+9usLZ8
eJxZsrUsx736wkOoh2C0FuM8JObfeP7LHdT8u1GWtx7BZYokGnemhtkkN4gaEz1Uaqtv
0i4g1P71Uxs2EU6bX3JK3QJlMe/N5/yQbxoSwzBg+JJMY2ValYC4UPNWQYbTV67xju9C
C5H87bPnd8uHxHHAuYm4WZEOKBFH2OhPvhcFSZnOOByeSy7tqnrYD+qX7DLLzJpKZapm
9qYg==
X-Gm-Message-State: AOJu0YzgCqYgYIrMzWcqNKvysjkMT7bPfhL59jYXrfyBlVMb5W9D74oM
SV8pMLiYUQMx1ICKC2r7R9/D23hq0hd4+lGO1o18d+iDMMQU8tfiB7/SwcU4RUj0w09dy5Exjez
8U39cHh0MP/mNf8lcPvckfpbSk4+fOO24MQ==
X-Gm-Gg: AfdE7cnrWdOwYoyZbAwc7RwnuYIa0KKP6Z/EAXJ1kZ9RZpZtAEVElQTTGJ4w2Ej3tNG
VujoPrV6LD08U3S1utsSWu9b8oWYzBdfSaCJP5iX0X09aY0tJ6kmf0kW/pYkeWiE+Z8msYaRx/3
5Sba92kbU6//DmgVfK4kidSQFDq3r2gnV0zj2YGCYMUa93wBfgG85+TJQ+YSN6vj7X0GZ1B0KvG
4MxMuOiET2DyVLj5L31dmzG6ix15VdHW9JMhJuSWLZ9lhj4HCithk9gmS8yuUe2580YRAbB
X-Received: by 2002:a05:6820:c83:b0:6a1:50eb:211a with SMTP id
006d021491bc7-6a150eb242amr3483061eaf.62.1782575650189; Sat, 27 Jun 2026
08:54:10 -0700 (PDT)
MIME-Version: 1.0
References: <CALXu0Ud81zLUaJ3DY1M3UPshBdEMHmQ1sYYDsvqQv9U3FnaMJA AT mail DOT gmail DOT com>
<CAKAoaQ=RBx07CafqMTUV6ndZrDLz0R=dXsTsWhvvrA5M-ss1+A AT mail DOT gmail DOT com>
In-Reply-To: <CAKAoaQ=RBx07CafqMTUV6ndZrDLz0R=dXsTsWhvvrA5M-ss1+A@mail.gmail.com>
Date: Sat, 27 Jun 2026 17:53:34 +0200
X-Gm-Features: AVVi8Ceyn1Ev-FcfJSJLTgsdwvEL6xrC7GVfht--i-L7m3A9vUL3r5TbY7n8ok8
Message-ID: <CALXu0UfRUnLF_Vqk2hc4Lm2et=GcTMvxqK+Zd2tmhMrcdTF3eg@mail.gmail.com>
Subject: Re: Cygwin sparse file support: Please support fcntl(..., F_FREESP,
...)
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 <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Cedric Blancher via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Cedric Blancher <cedric DOT blancher AT gmail DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 65RFt1gY3413454

The code works for me, but we need this in Cygwin, and not an addon.

Ced

On Wed, 24 Jun 2026 at 14:27, Roland Mainz via Cygwin <cygwin AT cygwin DOT com> wrote:
>
> On Sat, Feb 15, 2025 at 4:14 PM Cedric Blancher via Cygwin
> <cygwin AT cygwin DOT com> wrote:
> > Could Cygwin 3.6 please support fcntl(...,F_FREESP,...) and
> > cntl(...,F_FREESP64,...), as specified in
> > https://docs.oracle.com/cd/E19253-01/816-5167/fcntl-2/index.html
> >
> > Lots of older software from Solaris, SUPER/UX, CrayOS use F_FREESP for
> > punching a hole into a file, and IMO it'll be nice if this works for
> > Cygwin out of the box.
>
> 1. Ced: Could you please check whether the prototype code works for
> you ? If "yes" then I'll make a patch for cygwin.dll based on this...
> 2. Takashi: What do you think ? The API comes from Solaris, and is
> implememted by at least FreeBSD, Unicos, SUPER/UX, etc. and is usually
> used by database and HPC software.
>
> Prototype patch:
> ---- snip ----
> #ifndef F_FREESP
> #define F_FREESP   15
> #endif
>
> #ifndef F_ALLOCSP
> #define F_ALLOCSP  16
> #endif
>
> /* FIXME: This should use a |struct flock| like Solaris/FreeBSD |fnctl()| */
> int fcntl_sparse_space_management_emulate(int fd, int cmd, off_t
> offset, off_t len)
> {
>     off_t file_size;
>     off_t end;
>
>     file_size = lseek(fd, 0, SEEK_END);
>     if (file_size == (off_t)-1)
>         return -1;
>
>     if (len == 0)
>         end = file_size;
>     else
>         end = offset + len;
>
>     switch (cmd) {
>
>     case F_FREESP:
>         if (offset >= file_size)
>             return 0;
>
>         if (end >= file_size) {
>             return ftruncate(fd, offset);
>         } else {
>             if (fallocate(fd,
>                           FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
>                           offset,
>                           end - offset) == -1) {
>                 return -1;
>             }
>         }
>         return 0;
>
>     case F_ALLOCSP:
>         if (len == 0) {
>             return 0;
>         }
>
>         if (fallocate(fd, 0, offset, len) == -1) {
>             return -1;
>         }
>
>         return 0;
>
>     default:
>         errno = EINVAL;
>         return -1;
>     }
> }
> ---- snip ----
>
> ----
>
> Bye,
> Roland
> --
>   __ .  . __
>  (o.\ \/ /.o) roland DOT mainz AT nrubsig DOT org
>   \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
>   /O /==\ O\  TEL +49 641 3992797
>  (;O/ \/ \O;)
>
> --
> 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



-- 
Cedric Blancher <cedric DOT blancher AT gmail DOT com>
[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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2026   by DJ Delorie     Updated Sep 20 2026