Cygwin: open(2): reset sparseness on O_TRUNCated filescygwin-3.4.10
commit89a1e4a573d40b233011402f42630b970ff71291
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 27 Nov 2023 20:14:49 +0000 (27 21:14 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 28 Nov 2023 09:55:52 +0000 (28 10:55 +0100)
treecbeedcf1aca909d5bac5f4c377df1eda1ec9fa53
parent8e009dce7c82538119766cc0e3a6c91f3248ea5a
Cygwin: open(2): reset sparseness on O_TRUNCated files

open(2) implements O_TRUNC by just reducing the size of the file
to 0, to make sure EAs stay available.

Turns out, file sparseness is not removed this way either, so add
code to do just that.

Fixes: 603ef545bdbd ("* fhandler.cc (fhandler_base::open): Never open files with  FILE_OVERWITE/FILE_OVERWRITE_IF.")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/fhandler/base.cc
winsup/cygwin/release/3.4.10