cache: tolerate short writes in print_slot
commit852cb3b0e267dd2ddfd2eeef6275435098c606e7
authorHristo Venev <hristo@venev.name>
Sat, 7 May 2022 17:07:00 +0000 (7 20:07 +0300)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 19 Dec 2022 15:13:58 +0000 (19 16:13 +0100)
tree1f2c04d6da8bbb1064e18aa1b83cc14c2203c333
parent4c520cefc90b10566fcc8a0b006287494a7770e1
cache: tolerate short writes in print_slot

sendfile() can return after a short read/write, so we may need to call
it more than once. As suggested in the manual page, we fall back to
read/write if sendfile fails with EINVAL or ENOSYS.

On the read/write path, use write_in_full which deals with short writes.

Signed-off-by: Hristo Venev <hristo@venev.name>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
cache.c