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