Re: Cygwin sparse file support: Please support fcntl(..., F_FREESP, ...)

Roland Mainz via Cygwin <[email protected]> Wed, 24 Jun 2026 14:26:37 +0200
Newsgroups gmane.os.cygwin
Message-ID <CAKAoaQ=RBx07CafqMTUV6ndZrDLz0R=dXsTsWhvvrA5M-ss1+A@mail.gmail.com>
T24gU2F0LCBGZWIgMTUsIDIwMjUgYXQgNDoxNOKAr1BNIENlZHJpYyBCbGFuY2hlciB2aWEgQ3ln
d2luCjxjeWd3aW5AY3lnd2luLmNvbT4gd3JvdGU6Cj4gQ291bGQgQ3lnd2luIDMuNiBwbGVhc2Ug
c3VwcG9ydCBmY250bCguLi4sRl9GUkVFU1AsLi4uKSBhbmQKPiBjbnRsKC4uLixGX0ZSRUVTUDY0
LC4uLiksIGFzIHNwZWNpZmllZCBpbgo+IGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2NkL0UxOTI1
My0wMS84MTYtNTE2Ny9mY250bC0yL2luZGV4Lmh0bWwKPgo+IExvdHMgb2Ygb2xkZXIgc29mdHdh
cmUgZnJvbSBTb2xhcmlzLCBTVVBFUi9VWCwgQ3JheU9TIHVzZSBGX0ZSRUVTUCBmb3IKPiBwdW5j
aGluZyBhIGhvbGUgaW50byBhIGZpbGUsIGFuZCBJTU8gaXQnbGwgYmUgbmljZSBpZiB0aGlzIHdv
cmtzIGZvcgo+IEN5Z3dpbiBvdXQgb2YgdGhlIGJveC4KCjEuIENlZDogQ291bGQgeW91IHBsZWFz
ZSBjaGVjayB3aGV0aGVyIHRoZSBwcm90b3R5cGUgY29kZSB3b3JrcyBmb3IKeW91ID8gSWYgInll
cyIgdGhlbiBJJ2xsIG1ha2UgYSBwYXRjaCBmb3IgY3lnd2luLmRsbCBiYXNlZCBvbiB0aGlzLi4u
CjIuIFRha2FzaGk6IFdoYXQgZG8geW91IHRoaW5rID8gVGhlIEFQSSBjb21lcyBmcm9tIFNvbGFy
aXMsIGFuZCBpcwppbXBsZW1lbXRlZCBieSBhdCBsZWFzdCBGcmVlQlNELCBVbmljb3MsIFNVUEVS
L1VYLCBldGMuIGFuZCBpcyB1c3VhbGx5CnVzZWQgYnkgZGF0YWJhc2UgYW5kIEhQQyBzb2Z0d2Fy
ZS4KClByb3RvdHlwZSBwYXRjaDoKLS0tLSBzbmlwIC0tLS0KI2lmbmRlZiBGX0ZSRUVTUAojZGVm
aW5lIEZfRlJFRVNQICAgMTUKI2VuZGlmCgojaWZuZGVmIEZfQUxMT0NTUAojZGVmaW5lIEZfQUxM
T0NTUCAgMTYKI2VuZGlmCgovKiBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEgfHN0cnVjdCBmbG9j
a3wgbGlrZSBTb2xhcmlzL0ZyZWVCU0QgfGZuY3RsKCl8ICovCmludCBmY250bF9zcGFyc2Vfc3Bh
Y2VfbWFuYWdlbWVudF9lbXVsYXRlKGludCBmZCwgaW50IGNtZCwgb2ZmX3QKb2Zmc2V0LCBvZmZf
dCBsZW4pCnsKICAgIG9mZl90IGZpbGVfc2l6ZTsKICAgIG9mZl90IGVuZDsKCiAgICBmaWxlX3Np
emUgPSBsc2VlayhmZCwgMCwgU0VFS19FTkQpOwogICAgaWYgKGZpbGVfc2l6ZSA9PSAob2ZmX3Qp
LTEpCiAgICAgICAgcmV0dXJuIC0xOwoKICAgIGlmIChsZW4gPT0gMCkKICAgICAgICBlbmQgPSBm
aWxlX3NpemU7CiAgICBlbHNlCiAgICAgICAgZW5kID0gb2Zmc2V0ICsgbGVuOwoKICAgIHN3aXRj
aCAoY21kKSB7CgogICAgY2FzZSBGX0ZSRUVTUDoKICAgICAgICBpZiAob2Zmc2V0ID49IGZpbGVf
c2l6ZSkKICAgICAgICAgICAgcmV0dXJuIDA7CgogICAgICAgIGlmIChlbmQgPj0gZmlsZV9zaXpl
KSB7CiAgICAgICAgICAgIHJldHVybiBmdHJ1bmNhdGUoZmQsIG9mZnNldCk7CiAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgaWYgKGZhbGxvY2F0ZShmZCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBGQUxMT0NfRkxfUFVOQ0hfSE9MRSB8IEZBTExPQ19GTF9LRUVQX1NJWkUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCAt
IG9mZnNldCkgPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAg
fQogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKCiAgICBjYXNlIEZfQUxMT0NTUDoKICAgICAg
ICBpZiAobGVuID09IDApIHsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgICAg
ICBpZiAoZmFsbG9jYXRlKGZkLCAwLCBvZmZzZXQsIGxlbikgPT0gLTEpIHsKICAgICAgICAgICAg
cmV0dXJuIC0xOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIDA7CgogICAgZGVmYXVsdDoKICAg
ICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICByZXR1cm4gLTE7CiAgICB9Cn0KLS0tLSBzbmlw
IC0tLS0KCi0tLS0KCkJ5ZSwKUm9sYW5kCi0tIAogIF9fIC4gIC4gX18KIChvLlwgXC8gLy5vKSBy
b2xhbmQubWFpbnpAbnJ1YnNpZy5vcmcKICBcX19cL1wvX18vICBNUEVHIHNwZWNpYWxpc3QsIEMm
JkpBVkEmJlN1biYmVW5peCBwcm9ncmFtbWVyCiAgL08gLz09XCBPXCAgVEVMICs0OSA2NDEgMzk5
Mjc5NwogKDtPLyBcLyBcTzspCgotLSAKUHJvYmxlbSByZXBvcnRzOiAgICAgIGh0dHBzOi8vY3ln
d2luLmNvbS9wcm9ibGVtcy5odG1sCkZBUTogICAgICAgICAgICAgICAgICBodHRwczovL2N5Z3dp
bi5jb20vZmFxLwpEb2N1bWVudGF0aW9uOiAgICAgICAgaHR0cHM6Ly9jeWd3aW4uY29tL2RvY3Mu
aHRtbApVbnN1YnNjcmliZSBpbmZvOiAgICAgaHR0cHM6Ly9jeWd3aW4uY29tL21sLyN1bnN1YnNj
cmliZS1zaW1wbGUK