Commit Graph

499 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
20fc88fed9 aio: fix potential race at get_unused_fd() 2019-04-16 09:20:48 +02:00
Thomas Schoebel-Theuer
d58c4f317d aio: safeguard against RLIMIT_NOFILE
When setting RLIMIT_NOFILE to ridicuously wrong values, it was possible
to get an endless loop.
2019-04-16 09:20:48 +02:00
Thomas Schoebel-Theuer
867be8a743 logger: fix writeback in pressure mode 2019-04-06 19:55:57 +02:00
Thomas Schoebel-Theuer
3320529ffb logger: rename old floating_mode to pressure_mode 2019-04-06 19:55:57 +02:00
Thomas Schoebel-Theuer
620e460471 Revert "logger: fix writeback in non-floating mode"
This reverts commit 079a5f7714.
2019-04-06 19:55:57 +02:00
Thomas Schoebel-Theuer
5b2672e211 logger: reduce atomic_t overhead for production 2019-03-12 12:47:25 +01:00
Thomas Schoebel-Theuer
079a5f7714 logger: fix writeback in non-floating mode 2019-03-12 12:47:25 +01:00
Thomas Schoebel-Theuer
388015ae37 mem: reproducible builds on newer compilers 2019-03-02 22:14:15 +01:00
Thomas Schoebel-Theuer
6773712672 if: fix bio_get stack corruption when bio is on stack
I am unsure whether this might break compatibility to some
very ancient kernels.

AFAICR, it could have been needed long ago, when some old 32bit
kernels needed kmap().

Anyway, I don't have those old kernels anymore.
2019-03-02 22:14:14 +01:00
Thomas Schoebel-Theuer
05e17fb881 aio: adapt to upstream commit 723c038475b78edc9327eb952f95f9881cc9d7 2019-02-19 07:26:32 +01:00
Thomas Schoebel-Theuer
0d48be8a7e compat: adapt to 5955102c9984fa081b2d570cfac75c97eecf8f3b 2019-02-19 07:26:32 +01:00
Thomas Schoebel-Theuer
70f844da98 infra: fix wrong version detection 2019-02-19 07:26:32 +01:00
Thomas Schoebel-Theuer
312660c598 all: adapt to block layer changes, kernel 4.8 2019-02-19 07:26:32 +01:00
Thomas Schoebel-Theuer
ffb07986a0 infra: make KASAN happy 2019-02-19 07:26:31 +01:00
Thomas Schoebel-Theuer
b465105a18 main: fix if shutdown race with writeback 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
ce456788a4 if: propagate real physical and logical sector sizes 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
45d3ff4226 if: remember info 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
ee580d6aa8 bio: get real physical and logical sector sizes 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
a1dc791412 main: fix detach during sync when names are changing 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
ad69d1cf79 lib_log: also convert to brick_wait 2019-02-12 11:02:06 +01:00
Thomas Schoebel-Theuer
e7fa3fa130 infra: make brick_wait upstream independent 2019-02-12 11:02:05 +01:00
Thomas Schoebel-Theuer
52b2cf2726 if: provisionary substitute for merge_bvec()
This might potentially worsen IO performance somewhat. Please report
any _reproducible_ issues, together with a reproducer.
2019-01-16 16:49:45 +01:00
Thomas Schoebel-Theuer
0db016a317 if: use blk_queue_max_hw_sectors() 2019-01-16 12:04:31 +01:00
Thomas Schoebel-Theuer
4f008ca001 if: introduce blk_queue_split
This is an absolute MUST for newer kernels, starting with 4.3.x.
2019-01-16 12:04:31 +01:00
Thomas Schoebel-Theuer
25edeb727f if: fix segment size 2019-01-16 12:04:31 +01:00
Thomas Schoebel-Theuer
a2031b1970 infra: fix KASAN splat during dealloc 2018-11-26 11:15:19 +01:00
Thomas Schoebel-Theuer
879c3f5dfd bio: fix offset checking for debug kernels 2018-11-26 11:15:19 +01:00
Thomas Schoebel-Theuer
d6511758a3 server: fix stupid typo 2018-11-26 11:15:19 +01:00
Thomas Schoebel-Theuer
0d579d48ba net: fix O_NONBLOCK races
Runtime modification of _shared_ socket flags like O_NONBLOCK
is a bad idea. If I remember correctly, long ago there was no
other way. Current kernels allow different flags on the stack per
kernel_*() call, but I am not sure whether this could break
compatibility with some very ancient kernels. Unfortunately, I
cannot test MARS with these dinosaur kernels anymore, but hopefully
nobody uses them anyway.
2018-10-22 10:49:29 +02:00
Thomas Schoebel-Theuer
28ceff2388 copy: stabilize table for race prevention 2018-10-10 10:54:42 +02:00
Thomas Schoebel-Theuer
e6a1197432 logger: use brick_wait() for caller delay 2018-10-10 10:51:34 +02:00
Thomas Schoebel-Theuer
ba9c973d81 logger: improve wake up on memory shortage 2018-10-10 10:51:34 +02:00
Thomas Schoebel-Theuer
4b1ca21354 logger: fix condition checking using locks during wait 2018-10-10 10:51:34 +02:00
Thomas Schoebel-Theuer
1dff1a2f04 main: remove annoying orphan error message 2018-09-26 10:00:39 +02:00
Thomas Schoebel-Theuer
55200bbf5b main: replicate systemd hints 2018-05-09 21:41:48 +02:00
Thomas Schoebel-Theuer
169eb0c0e9 main: trigger systemd 2018-05-09 07:54:39 +02:00
Thomas Schoebel-Theuer
988457b65b infra: fix silly deadlock on improbable race 2018-05-09 07:54:38 +02:00
Thomas Schoebel-Theuer
3a94ffba5e main: fix replay tolerance 2018-04-10 09:07:34 +02:00
Thomas Schoebel-Theuer
d32251179b all: replace replay magic numbers by named constants 2018-04-10 09:04:41 +02:00
Thomas Schoebel-Theuer
f53d3912cc main: earlier report replay position 2018-04-10 09:03:46 +02:00
Thomas Schoebel-Theuer
acdae43963 client: dont try get_info when brick isnt working 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
b3b4fb2274 client: adapt timeout at get_info 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
205f32efb0 cient: shut down socket before stopping thread 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
8cf5d5bc15 client: earlier stop sender thread 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
a3f168d727 client: earlier send stop on shutdown 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
165f40ef41 client: adapt socket aborts to io_timeout 2018-03-19 06:41:10 +01:00
Thomas Schoebel-Theuer
a721d0daea main: new timestamp ordering semantics 2018-03-13 08:29:48 +01:00
Thomas Schoebel-Theuer
dedaa5b55f infra: new timestamp ordering 2018-03-13 08:29:48 +01:00
Thomas Schoebel-Theuer
9e31ee3438 main: silence annoying userspace error 2018-01-31 08:09:01 +01:00
Thomas Schoebel-Theuer
e1426525cd infra: protect lamport clock against illegal future values 2018-01-31 08:09:00 +01:00