Commit Graph

665 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
025ffbb09d Merge branch 'mars0.1.y' into mars0.1a.y 2019-03-06 07:25:43 +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
3634da40b1 Merge branch 'mars0.1.y' into mars0.1a.y 2019-02-19 07:27:51 +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
c05978bdcc main: flip sync only when advancing 2019-02-12 11:27:49 +01:00
Thomas Schoebel-Theuer
a6fbb93394 copy: fix race on shutdown 2019-02-12 11:27:40 +01:00
Thomas Schoebel-Theuer
5ad1645de9 Merge branch 'mars0.1.y' into mars0.1a.y 2019-02-12 11:26:58 +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
ac0677fcb7 Merge branch 'mars0.1.y' into mars0.1a.y 2019-01-16 16:57:21 +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
426b67e811 Merge branch 'mars0.1.y' into mars0.1a.y 2018-11-26 11:38:26 +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
177b4dc65b client: fix uninitialized value 2018-10-22 13:07:35 +02:00
Thomas Schoebel-Theuer
8257466b14 Merge branch 'mars0.1.y' into mars0.1a.y 2018-10-22 13:07:23 +02: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
26ddf5e68c Merge branch 'mars0.1.y' into mars0.1a.y 2018-10-15 07:24:03 +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
7a8f6c2baf Merge branch 'mars0.1.y' into mars0.1a.y 2018-09-28 07:48:36 +02:00
Thomas Schoebel-Theuer
1dff1a2f04 main: remove annoying orphan error message 2018-09-26 10:00:39 +02:00
Thomas Schoebel-Theuer
1615dbf538 net: make TOS / DSCP compile time configurable 2018-05-15 14:57:27 +02:00
Thomas Schoebel-Theuer
d5dc1ea8af all: differentiate traffic types 2018-05-14 20:42:00 +02:00
Thomas Schoebel-Theuer
1bb56365c3 all: introduce traffic types 2018-05-14 20:42:00 +02:00
Thomas Schoebel-Theuer
5b7a73a39d server: make tcp params dynamic 2018-05-14 19:42:05 +02:00
Thomas Schoebel-Theuer
1d3fb447d5 net: make mars_accept_socket() options dynamic 2018-05-14 19:42:05 +02:00
Thomas Schoebel-Theuer
2dff1c0c14 net: make mars_create_socket() options dynamic 2018-05-14 19:42:05 +02:00
Thomas Schoebel-Theuer
922a82d25e net: make socket options dynamic 2018-05-14 19:42:04 +02:00
Thomas Schoebel-Theuer
7800238319 main: replace forgotten spinlock with mutex 2018-05-14 19:33:50 +02:00
Thomas Schoebel-Theuer
2a44797583 Merge branch 'mars0.1.y' into mars0.1a.y 2018-05-14 19:29:58 +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
147ee84de3 Merge branch 'mars0.1.y' into mars0.1a.y 2018-04-10 11:09:07 +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
e393decd3c Merge branch 'mars0.1.y' into mars0.1a.y 2018-03-19 06:57:49 +01: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
1022c21ac6 Merge branch 'mars0.1.y' into mars0.1a.y 2018-02-01 06:25:02 +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
Thomas Schoebel-Theuer
5818d254ce main: remote_trigger after deletions 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
495c42c9d9 main: remote_trigger on open-count changes 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
5cff1bac2a main: remote_trigger only from primary to secondaries 2018-01-31 07:50:30 +01:00
Thomas Schoebel-Theuer
de4263e8b9 main: remove dead code 2018-01-31 07:50:30 +01:00
Thomas Schoebel-Theuer
0cb5fb0179 main: hold remote_trigger on failure 2018-01-31 07:50:23 +01:00
Thomas Schoebel-Theuer
6177b74fee infra: user message infrastructure 2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
49d0d9183c infra: avoid double say logging 2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
7b54f1d341 infra: remove senseless non-atomic alloc 2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
f2b1e61812 infra: replace say rwlock by rwsem 2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
f7e9619ab7 infra: factor out atomic testing 2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
b790c99d5a main: replace spinlock by mutex 2018-01-31 07:45:21 +01:00
Thomas Schoebel-Theuer
e5bb5ade55 logger: replace spinlock by rwsem 2018-01-31 07:24:00 +01:00
Thomas Schoebel-Theuer
d2786079f6 logger: replace rwlock by rwsem 2018-01-31 07:24:00 +01:00
Thomas Schoebel-Theuer
2fef63b72a client: replace spinlock with mutex 2018-01-31 07:23:41 +01:00
Thomas Schoebel-Theuer
8b6f93a6db aio: replace spinlock with mutex 2018-01-31 07:21:08 +01:00
Thomas Schoebel-Theuer
1a73763913 all: remove old dirtifying 2017-12-10 20:54:27 +01:00
Thomas Schoebel-Theuer
b2cf8686de infra: use new mapfree dirtifying 2017-12-10 20:54:27 +01:00
Thomas Schoebel-Theuer
7d64386a21 aio: use new mapfree dirtifying 2017-12-10 20:54:27 +01:00
Thomas Schoebel-Theuer
d8eac2ecba all: new mapfree dirtifying 2017-12-10 20:54:27 +01:00
Thomas Schoebel-Theuer
38b7ccf272 Merge branch 'mars0.1.y' into mars0.1a.y 2017-12-10 20:48:51 +01:00
Thomas Schoebel-Theuer
65f9892165 infra: use rwsem at mapfree 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
42543656dc main: auto logrotate on small /mars 2017-10-23 17:07:41 +02:00
Thomas Schoebel-Theuer
dedf7f3cdc main: fix writeback overflow when /mars has less space than RAM
Observed at Arsys prototype testing.
Thanks to Andoni Ayala for the problem report.
2017-10-23 16:43:28 +02:00
Thomas Schoebel-Theuer
06ea3d4d1b main: better connection messages 2017-09-23 07:49:57 +02:00
Thomas Schoebel-Theuer
0c09be8eae main: fix and improve misleading connection state wording 2017-09-23 07:49:56 +02:00
Thomas Schoebel-Theuer
dd95877143 server: fix dent_limit exceeding 2017-09-19 14:02:16 +02:00
Thomas Schoebel-Theuer
e6c4ccd7ab main: fix multiple peer activation 2017-09-12 20:12:28 +02:00
Thomas Schoebel-Theuer
7a65eaa4ef main: extra rot activation 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
610b513ac9 main: factor out rot activation 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
3b0fc84da3 main: interrupt peer thread wait earlier 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
7f3fffe2a1 man: terminate peer thread when network is down 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
2c6615e5ea net: speedup rmmod 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
e85f9afffb main: retry on dent limit 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
4ffb69aac2 main: propagate features 2017-09-11 12:00:12 +02:00