Commit Graph

840 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
1dcd705e16 infra: adapt to block layer changes, kernel 4.11 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
d09ab9ab1e infra: convert limited to lamport_time 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
9c4a100937 infra: convert lib_timing to lamport_time 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
222f048937 all: adapt to new timespec64 type 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
b3dc438f1d infra: use new crypto interface with earlier kernels 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
39eaa78c58 all: new MARS_HAS naming conventions 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
ccd0063da6 infra: move crypto compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
a8766f3016 net: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
764399d262 net: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
9b55c64bb1 if: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
95550cb0c9 if: move and split compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
baf14f5b22 if: move and merge compat check with bio 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
873ae4de56 if: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
f11b7d680c if: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
0244c27a5d bio: move compat check 2019-12-25 09:19:07 +01:00
Thomas Schoebel-Theuer
d1dcca213f bio: move compat check 2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
3a397ac00e bio: move compat check 2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
c21465b462 compat: prepare moving compat checks 2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
8b0d52e705 server: remove deprecated loadavg quirk 2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
9a17bfb37d all: unify HAS_ naming conventions 2019-12-25 09:19:06 +01:00
Thomas Schoebel-Theuer
b0ec727e50 client: limit for testing 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
df9173225b if: remote trigger upon open/close 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
a0fb789f75 mem: dissolve code duplication 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
50de5e6882 main: directly trigger any peer after communication startup 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
ffa80b0973 main: pause primary role activation after modprobe 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
ddff7757d6 infra: restart failed kthread creation 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
e54cab1f95 infra: safeguard signals interfering with kthreads 2019-12-25 09:17:56 +01:00
Thomas Schoebel-Theuer
9c00104b28 infra: make id static 2019-11-26 07:05:06 +01:00
Thomas Schoebel-Theuer
791b604c5c if: fix race betweem flying_count and open_count 2019-11-26 07:05:06 +01:00
Thomas Schoebel-Theuer
9e415e75e9 if: move flying_count from input to brick instance 2019-11-26 07:05:06 +01:00
Thomas Schoebel-Theuer
fbe199db71 main: improve switchover checking 2019-11-26 07:04:06 +01:00
Thomas Schoebel-Theuer
9df4906ffb main: forced bypass needs to create new logfile 2019-11-25 15:29:09 +01:00
Thomas Schoebel-Theuer
3a77e858bf infra: discriminate tmp memleak from final MEMLEAK 2019-11-10 06:03:50 +01:00
Thomas Schoebel-Theuer
2635ffe15d main: safeguard start_sync 2019-11-09 23:37:02 +01:00
Thomas Schoebel-Theuer
a539fd3b48 infra: fix dent list unlinking 2019-11-09 23:37:02 +01:00
Thomas Schoebel-Theuer
f7223f8c22 infra: fix dent mem leak 2019-11-09 23:37:02 +01:00
Thomas Schoebel-Theuer
a7c994acf8 infra: remove unnecessary compile restriction
The corresponding bug has been fixed a while ago.
So this should no longer be necessary.
2019-11-05 19:11:05 +01:00
Thomas Schoebel-Theuer
19a8177af7 Kconfig: remove dependency from m 2019-11-05 19:11:05 +01:00
Thomas Schoebel-Theuer
2fdc22f780 main: rest space computation obeys writeback 2019-11-05 19:11:05 +01:00
Thomas Schoebel-Theuer
87963f672e infra: safeguard disk space computation 2019-11-05 19:11:05 +01:00
Thomas Schoebel-Theuer
303bcb1fec main: disable throttling by default
This may hurt application performance.
2019-11-05 19:10:47 +01:00
Thomas Schoebel-Theuer
5263e058ea if: less default throttling 2019-11-05 15:24:07 +01:00
Thomas Schoebel-Theuer
9ab6c1f603 main: fix primary versionlink after crash 2019-11-05 15:24:07 +01:00
Thomas Schoebel-Theuer
c9c0011ea4 main: also fetch peer-specific directories 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
584b574431 main: fix missing scan of defaults/ 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
6bb742ec7a main: fetch forgotten defaults/ directory 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
83282a854d main: make global path list maintainable 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
af111b7dd6 main: fix primary --force on incomplete logfiles 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
d9444a0c51 main: simplify switch testing 2019-08-06 08:02:42 +02:00
Thomas Schoebel-Theuer
b533bb7a06 logger: increase hash constants 2019-07-18 12:36:45 +02:00
Thomas Schoebel-Theuer
b1c3602f93 logger: fix potential infinite memory allocation 2019-07-18 11:12:47 +02:00
Thomas Schoebel-Theuer
b2d18bdfbf logger: more testing 2019-07-18 11:12:47 +02:00
Thomas Schoebel-Theuer
900ed3cbd8 infra: speed up by dent hashing 2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
ee08ab587e infra: introduce hash_table and hash_link 2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
b1861be0a9 infa: add quick dent list for speedup 2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
930d33e338 infra: prepare dent quick_list speedup 2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
0c1d47b955 client: speed up timeouting 2019-07-10 11:27:37 +02:00
Thomas Schoebel-Theuer
ee1e1ab1bb EOL: fully merge branch 'mars0.1.y' into mars0.1a.y 2019-07-10 11:26:15 +02:00
Thomas Schoebel-Theuer
d7d03981c2 logger: allow pressure disabling for testing only 2019-06-26 11:00:17 +02:00
Thomas Schoebel-Theuer
c922bafa52 infra: additional global mem limit 2019-06-26 11:00:17 +02:00
Thomas Schoebel-Theuer
5be66cacb2 logger: make update_interval configurable 2019-06-26 11:00:17 +02:00
Thomas Schoebel-Theuer
30e3e073a1 logger: avoid writeback starvation by minimum update speed 2019-06-26 11:00:17 +02:00
Thomas Schoebel-Theuer
14d6e84fed infra: remove dead code 2019-06-26 10:57:27 +02:00
Thomas Schoebel-Theuer
996d9c3f1a Merge branch 'mars0.1.y' into mars0.1a.y 2019-04-16 10:12:03 +02:00
Thomas Schoebel-Theuer
25fde8b5f9 aio: fix potential race on fd 2019-04-16 09:20:49 +02:00
Thomas Schoebel-Theuer
8e1b163936 aio: fix forgotten upstream init for get_unused_fd() 2019-04-16 09:20:49 +02:00
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
abf5b84b6d Merge branch 'mars0.1.y' into mars0.1a.y 2019-04-06 20:09:26 +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
88ed66efe1 Merge branch 'mars0.1.y' into mars0.1a.y 2019-03-12 12:50:54 +01: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
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
Thomas Schoebel-Theuer
b8e77a4f58 main: report optional feature version 2017-09-11 11:59:32 +02:00
Thomas Schoebel-Theuer
cf25790fd2 Merge tag 'mars0.1stable48' into mars0.1a.y 2017-09-11 11:53:28 +02:00
Thomas Schoebel-Theuer
513546971e Merge tag 'mars0.1stable47' into mars0.1a.y 2017-09-11 11:50:12 +02:00
Thomas Schoebel-Theuer
2787be89de Merge tag 'mars0.1stable46' into mars0.1a.y 2017-09-11 11:48:41 +02:00
Thomas Schoebel-Theuer
7f961ad89f Merge tag 'mars0.1stable45' into mars0.1a.y 2017-09-11 11:42:59 +02:00
Thomas Schoebel-Theuer
ac33f3b6ec Merge tag 'mars0.1stable44' into mars0.1a.y 2017-09-11 11:42:49 +02:00
Thomas Schoebel-Theuer
981dc07a6d all: deletions tuning 2017-09-11 11:34:20 +02:00
Thomas Schoebel-Theuer
56d7f72a62 net: early detection of socket hangups 2017-09-08 23:42:30 +02:00
Thomas Schoebel-Theuer
9025283608 server: handler limit 2017-09-07 12:56:23 +02:00
Thomas Schoebel-Theuer
2d26b3d224 server: dent limit 2017-09-07 12:55:40 +02:00
Thomas Schoebel-Theuer
c0dfbde8a8 infra: fix mem leak from merge error 2017-09-05 11:23:44 +02:00
Thomas Schoebel-Theuer
3d2811c719 main: fix deadlock on uuid at leave-cluster
Similar to before:

root@m0:~# cat /proc/2642/stack
[<ffffffff810591cc>] kthread_stop+0x7f/0x10d
[<ffffffffa0172033>] _kill_peer.isra.7+0xf9/0x1ea [mars]
[<ffffffffa0172180>] peer_destruct+0xe/0x10 [mars]
[<ffffffffa016866a>] mars_free_dent+0x188/0x1b4 [mars]
[<ffffffffa0168a5a>] mars_dent_work+0x3c4/0x563 [mars]
[<ffffffffa0171265>] _main_thread+0x2b2/0x88d [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
root@m0:~# cat /proc/4282/stack
[<ffffffff81342154>] call_rwsem_down_read_failed+0x14/0x30
[<ffffffffa0166554>] mars_find_dent+0x19/0x3d [mars]
[<ffffffffa0172a30>] peer_thread+0x8ae/0xdc0 [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
2017-09-01 20:14:36 +02:00
Thomas Schoebel-Theuer
6c56b53850 infra: fix deadlock on leave-cluster & friends
root@m1:~# cat /proc/2661/stack
[<ffffffff810591cc>] kthread_stop+0x7f/0x10d
[<ffffffffa01660a5>] _kill_peer.isra.7+0xf9/0x1ea [mars]
[<ffffffffa01661f2>] peer_destruct+0xe/0x10 [mars]
[<ffffffffa015c66a>] mars_free_dent+0x188/0x1b4 [mars]
[<ffffffffa015ca5a>] mars_dent_work+0x3c4/0x563 [mars]
[<ffffffffa01652d7>] _main_thread+0x2b2/0x88d [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff

root@m1:~# cat /proc/4473/stack
[<ffffffff81342154>] call_rwsem_down_read_failed+0x14/0x30
[<ffffffffa015a554>] mars_find_dent+0x19/0x3d [mars]
[<ffffffffa015dadc>] _mars_translate_hostname+0x86/0x126 [mars]
[<ffffffffa0166663>] peer_thread+0x46f/0xdc0 [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
2017-09-01 20:03:48 +02:00
Thomas Schoebel-Theuer
1e13c9e7ae all: document some deadlock danger on debug output 2017-08-29 18:53:24 +02:00
Thomas Schoebel-Theuer
45005f25c9 main: fix is_attached 2017-08-29 18:40:30 +02:00
Thomas Schoebel-Theuer
5b41b2fb84 infra: regularly prune the /mars dentry cache 2017-08-25 15:07:59 +02:00
Thomas Schoebel-Theuer
de8abf0284 main: report is-detached only when bio is gone 2017-08-21 21:16:37 +02:00
Thomas Schoebel-Theuer
68016194bc main: report is-detached for damaged resources 2017-08-21 21:16:36 +02:00
Thomas Schoebel-Theuer
4ff7dfe7a4 Merge branch 'mars0.1.y' into mars0.1b.y 2017-07-26 11:32:47 +02:00
Thomas Schoebel-Theuer
45f9440842 main: protect rot list by rwsem 2017-07-26 11:08:56 +02:00
Thomas Schoebel-Theuer
3d9bbcb23c main: check alive link timestamp instead of tree version
The tree version might be updated less frequently.
2017-07-26 11:08:12 +02:00
Thomas Schoebel-Theuer
cf84aeba9f main: avoid fetch from failed peer for a while 2017-07-26 10:27:04 +02:00
Thomas Schoebel-Theuer
881f61bfcc main: fix abort of logfile fetching 2017-07-26 10:00:51 +02:00
Thomas Schoebel-Theuer
41cf70e288 if: show open_count in statistics 2017-07-05 14:15:41 +02:00
Thomas Schoebel-Theuer
5b12f5c569 client: show number of active channels in statistics 2017-07-05 14:15:41 +02:00