Luflosi 4c78a50dcf
Add more copy_file_range() and sendfile() errno exceptions
On ZFS `copy_file_range()` and `sendfile()` fail for some reason, so add `EINVAL` to the list of error codes for which the code will fall back to a slower implementation.
While we are at it, add all the error codes from https://go.dev/src/internal/poll/copy_file_range_linux.go for different filesystems and older kernel versions to the list of error codes from `copy_file_range()`.
Without this, the cache defragmentation and the test testing it (`test_disk_cache`) fail with the error message "Failed to copy data to new disk cache file during defrag: Invalid argument" when the cache directory is stored on ZFS.
Perhaps this is caused by me running ZFS 2.1.2 on Linux 5.16.0, which is not a supported combination. This ZFS version is only "compatible with 3.10 - 5.15 kernels" according to the release notes. Or maybe it's just not implemented.
To reproduce the problem, execute `KITTY_CACHE_DIRECTORY=/path/to/zfs python3 test.py` with `KITTY_CACHE_DIRECTORY` pointing to a directory on ZFS.
2022-01-27 00:45:30 +01:00
2022-01-23 10:12:11 +05:30
2021-12-19 22:05:06 +05:30
...
2022-01-24 09:50:37 +05:30
2019-07-07 21:10:15 +02:00
2022-01-26 18:28:37 +08:00
2021-11-25 05:39:11 +00:00
2021-10-07 13:15:06 +05:30
2018-05-09 11:32:22 +05:30
2021-11-18 22:44:41 +05:30
2021-09-23 20:31:13 +05:30
2021-09-28 14:23:49 +05:30
2022-01-23 09:43:15 +05:30
2022-01-23 10:12:11 +05:30
...
2021-03-17 14:45:23 +05:30
...
2021-04-18 10:46:06 +05:30
2021-12-23 10:13:16 +05:30
2021-12-23 10:18:42 +05:30
2020-06-06 09:23:36 +05:30

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty.svg[https://repology.org/project/kitty/versions]
Description
kitty with bold_is_bright patch
Readme 48 MiB
Languages
Python 43.6%
C 28.3%
Go 20%
Objective-C 6%
Shell 1.5%
Other 0.5%