newlib-cygwin/winsup/cygwin/fhandler
Corinna Vinschen 65831f88d6 Cygwin: fallocate(2): handle FALLOC_FL_PUNCH_HOLE and FALLOC_FL_ZERO_RANGE
Split fhandler_disk_file::fallocate into multiple methods, each
implementing a different aspect of fallocate(2), thus adding
FALLOC_FL_PUNCH_HOLE and FALLOC_FL_ZERO_RANGE handling.

For more correctly implementing posix_fallocate(3) semantics, make
sure to re-allocate holes in the given range if the file is sparse.

While at it, change the way checking when to make a file sparse.
The rule is now, make file sparse if the hole created by the action
spans at least one sparse block, taking the allocation granularity
of sparse files into account.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2023-11-28 10:55:38 +01:00
..
base.cc Cygwin: fallocate(2): handle FALLOC_FL_PUNCH_HOLE and FALLOC_FL_ZERO_RANGE 2023-11-28 10:55:38 +01:00
clipboard.cc Cygwin: clipboard: Only SEEK_SET and SEEK_CUR are supported 2023-08-09 16:56:02 +02:00
console.cc Cygwin: fstat(): Fix st_rdev returned by fstat() for /dev/tty. 2023-07-08 08:03:22 +09:00
cygdrive.cc
dev.cc
dev_disk.cc Cygwin: /dev/disk: Append '#N' if the same name appears more than once 2023-11-21 19:40:37 +01:00
dev_fd.cc
disk_file.cc Cygwin: fallocate(2): handle FALLOC_FL_PUNCH_HOLE and FALLOC_FL_ZERO_RANGE 2023-11-28 10:55:38 +01:00
dsp.cc Cygwin: dsp: Improve minimum buffser size estimation. 2023-10-30 19:58:38 +09:00
fifo.cc Cygwin: select: don't report read ready on a FIFO never opened for writing 2022-10-19 08:17:50 -04:00
floppy.cc
mixer.cc Cygwin: Implement sound mixer device. 2023-09-01 21:33:38 +09:00
mqueue.cc Cygwin: get_posix_access: Make mode_t parameter mandatory 2023-02-09 21:58:44 +01:00
netdrive.cc
nodevice.cc
null.cc
pipe.cc Cygwin: fhandler: rename ftruncate method to fallocate 2023-11-28 10:52:05 +01:00
proc.cc Cygwin: cpuinfo: Linux 6.5 additions 2023-09-01 20:40:54 +02:00
process.cc Cygwin: ctty: Replace ctty constant with more descriptive macros. 2023-03-07 10:51:29 +09:00
process_fd.cc
procnet.cc
procsys.cc Cygwin: get_posix_access: Make mode_t parameter mandatory 2023-02-09 21:58:44 +01:00
procsysvipc.cc
pty.cc Cygwin: pty: Fix failure to clear switch_to_nat_pipe flag. 2023-08-19 14:53:10 +09:00
random.cc
raw.cc
registry.cc Cygwin: get_posix_access: Make mode_t parameter mandatory 2023-02-09 21:58:44 +01:00
serial.cc Cygwin: serial: Fix a copy-paste error in DTR setup 2022-11-29 11:47:27 +01:00
signalfd.cc
socket.cc
socket_inet.cc
socket_local.cc
socket_unix.cc
tape.cc
termios.cc Cygwin: termios: Refactor the function is_console_app(). 2023-08-28 18:20:57 +09:00
timerfd.cc
virtual.cc
windows.cc
zero.cc