Commit Graph

218 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
3aebe8de7f mars_proc: improve naming conventions and access flags 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
58a0db4280 light: improve debugging of replaylink 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
db19f86347 if: allow open() only when switched on 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d1469b5b83 infra: better statistics on object/aspect allocations 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
23c4a1cc57 proc: show lamport clock in /proc/sys/mars/ 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
af5c95317c light: fix potential NULL ptr deref 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
3f4e86427d infra: remove timeout on brick deletion
in any case, infinite waiting is better than bombing
due to deallocated memory where threads try to continually
work on.
2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
43a6c2239c net: fix release and re-open of sockets 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d07aaa75c3 net: speedup struct communication 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
bcea0eac40 infra: fix memleak on remote dent lists 2013-01-23 20:06:51 +01:00
Thomas Schoebel-Theuer
d0b5b7ce48 brick_say: allow delaying callers upon overflow 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
a1ec9ec5db light: fix memory leak in rot destruction 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
932a4c56ef debugging: show caller line at *path_make() and friends 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
8490dcc7bc light: add statusfile_rollover 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
87631d14fc all: make rmmod more robust when requests are flying 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
5041dd1cf4 mem: show raw statistics in /proc 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
f88c3c12ad brick_say: separate logfiles for each resource 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
fdd3b251c0 all: replace kthread by brick_thread wrapper 2013-01-23 20:06:50 +01:00
Thomas Schoebel-Theuer
47040b5798 brick_say: implement status files via intermediate .tmp files 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
569e70eb90 light: delay shutdown if buffer memory is in use 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
4b94866c80 light: parameterize aio instances correctly 2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
e7f88c84d6 infra: rewrite brick_say to work with threads
It was cumbersome to write to files in / after in_interrupt() & co.
A master write thread will also reduce the peak IO parallelism
on log data in /mars .

Further work has to be done to utilize non-default write channels.
2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
c319230fa1 all: IO scheduling improvements, tuning
Dastically boost random write performance on RAID controllers with BBUs.
Writeback is only performed when there is no IO contention / starvation.
The old IO contention controller was suited to workstations.
Now server loads are well-controlled even when BBUs are present.
2013-01-23 20:06:49 +01:00
Thomas Schoebel-Theuer
9016c81057 light: report timestamp of replay in actual-* 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
06e6ff0973 proc: show actual traffic rates 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
23c8af994c proc: show actual mem usage in /proc/sys/mars/ 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
261fc98d4a light: use limiter for display of rates 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
37c4e34f76 all: port to kernel 3.2 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
11c7900acb all: replace msleep() by brick_msleep() 2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
c1ba96f0a0 all: fix race on close of transaction log 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
5365063c58 light: fix invalid version links based on outdated prev version 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
64d6397711 light: fix invalid version links at logrotate (ITOPWPT-225) 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
64849f9949 light: better ERR reporting in _update_versionlink() 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
9f28a4ef5f mars_net: drastically speedup network 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
5737198009 client: fix net io timeout 2013-01-20 23:24:29 +01:00
jmann
2ced26ef59 update *limit names in /proc/sys/mars/* 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
74f9a8fd85 light: make LOGDELETE_AUTO runtime configurable 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
ebeaa7c7c0 light: make MIN_SPACE runtime configurable 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
44f58e7004 light: make LOGROT_AUTO runtime configurable 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
3336b513ce net: make network timeout configurable 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
2897ddf812 light: emergency stop logging on filesystem full 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
8ad0d372aa light: implement resize operation during operation 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
37e5645a8e light: add actsize-* symlinks 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
cf05c126b5 mem: make total memory usage tunable in percent 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
284d559bf3 light: add limiters for io and network bandwidth 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
c1417012cc light: automatic flipping between fullsync and replay 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
8b82a7879c light: add informational symlink "verifystatus" 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
eb3ae05900 light: add CONFIG_FAST_FULLSYNC 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
dd8c0df8e2 infra: move crypto stuff from sy_old/ to mars_generic 2013-01-20 23:24:23 +01:00
Thomas Schoebel-Theuer
8dccc70d00 light: fix start of fullsync 2013-01-20 23:24:23 +01:00
Thomas Schoebel-Theuer
d2615d584d light: fix wrong d_class of ambiguous "userspace" directories 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
6071c49db9 all: rename some variables 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
19c2787ca9 sy_generic: turn some ERR into INFO 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
d6f40d09f9 light: speedup network propagation via linear backoff 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
02289207e0 sy_generic: workaround low timestamp resolution 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
9fdc0ff41f trans_logger: tuning 2013-01-20 23:24:22 +01:00
schoebel
847f2a416f trans_logger: new IO scheduling 2013-01-20 23:24:22 +01:00
schoebel
2c5fcccc4e trans_logger: replace single queues by array 2013-01-20 23:24:21 +01:00
schoebel
63c3bf0f49 trans_logger: renumber queues from 0 to 3
Conflicts:

	mars_trans_logger.c
2013-01-20 23:24:21 +01:00
Thomas Schoebel-Theuer
00f7b9e55b add replicated directories for userspace usage 2013-01-20 23:24:21 +01:00
Thomas Schoebel-Theuer
3381fdd8d5 automatic log-delete on low space 2013-01-20 23:24:21 +01:00
Thomas Schoebel-Theuer
e058dc18e0 automatic logrotate on huge logfiles 2013-01-20 23:24:18 +01:00
Thomas Schoebel-Theuer
bf61c18f6e dont stop logfile replay on exhausted filesystem 2013-01-20 23:24:17 +01:00
Thomas Schoebel-Theuer
cb517fb34c fix logfile update from multiple peers 2013-01-20 23:24:17 +01:00
Thomas Schoebel-Theuer
d5cb69b391 improve cache footprint of MARS 2013-01-20 23:24:15 +01:00
Thomas Schoebel-Theuer
6bad32e2b1 server: fix cleanup of old aio instances 2013-01-20 23:24:13 +01:00
Thomas Schoebel-Theuer
49336fdcac disable /proc/sys/mars/loadavg_limit by default 2013-01-20 23:24:13 +01:00
Thomas Schoebel-Theuer
d34d73be65 kill_brick_when_possible() also on server bricks 2013-01-20 23:24:11 +01:00
Thomas Schoebel-Theuer
06fea5042f stall network IO traffic when loadavg gets too high 2013-01-20 23:24:10 +01:00
Thomas Schoebel-Theuer
a48c41684d treat CONFIG_MARS_DEBUG independent from CONFIG_DEBUG_KERNEL 2013-01-20 23:24:09 +01:00
Thomas Schoebel-Theuer
73454bbbcf increase memory preallocation 2013-01-20 23:24:09 +01:00
Thomas Schoebel-Theuer
e7d7ee206c try to fix resource deadlock 2013-01-20 23:24:08 +01:00
Thomas Schoebel-Theuer
cb3dbc0e74 remove obsolete files 2013-01-20 23:24:08 +01:00
Thomas Schoebel-Theuer
8909880554 fix logfile replay on standalone resources 2013-01-20 23:24:08 +01:00
Thomas Schoebel-Theuer
a5646eeac4 rework logfile replication 2013-01-20 23:23:50 +01:00
Thomas Schoebel-Theuer
05e1051686 timeout for logfile switchover 2013-01-20 23:23:49 +01:00
Thomas Schoebel-Theuer
91f262b72b improve detection of memleaks 2013-01-20 23:23:49 +01:00
Thomas Schoebel-Theuer
287bb506b9 fix symlink update (only when really changed) 2013-01-20 23:23:49 +01:00
Thomas Schoebel-Theuer
7ee39d8dfa usability: added /proc/sys/mars/{errors,warnings} 2013-01-20 23:23:49 +01:00
Thomas Schoebel-Theuer
6cdd2415be improve responsiveness of mars_light thread 2013-01-20 23:23:48 +01:00
Thomas Schoebel-Theuer
a236fb0e15 automatic cleanup of /mars/todo-global/ 2013-01-20 23:23:47 +01:00
Thomas Schoebel-Theuer
7200a93c7c remove superfluous volatile keywords 2013-01-20 23:23:46 +01:00
Thomas Schoebel-Theuer
94fa1e3a68 fix wrong switching of mars_copy 2013-01-20 23:23:46 +01:00
Thomas Schoebel-Theuer
76140e6c23 mutual exclusion between sync & logfile-apply 2013-01-20 23:23:46 +01:00
Thomas Schoebel-Theuer
81da8a0c1d fix replay logfile turnover (sometimes was too fast) 2013-01-20 23:23:45 +01:00
Thomas Schoebel-Theuer
92a4684692 workaround for rare race condition in trans_logger 2013-01-20 23:23:44 +01:00
Thomas Schoebel-Theuer
fd5c6abc6c reanimate some unused old code, only for debugging 2013-01-20 23:23:44 +01:00
Thomas Schoebel-Theuer
e550c2b8a6 yet another fix for logfile propagation 2013-01-20 23:23:42 +01:00
Thomas Schoebel-Theuer
92d9778dd7 fix race on primary switchover
solution: wait until all in /mars/resouce-*/ has stabilized
for 60s and all known logfiles have been migrated.
This more a workaround than a solution and should be fixed
in MARS FULL.
2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
8fe9b696aa fix another logfile update problem 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
58f6981806 fix hang of remote logfile update
appending to logfile did not update copy_end_pos, so the copy
brick never switched off.
2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
81bfb9471a fix network race on primary/secondary switch
The race could lead to unnecessary split brain.
Now we wait until everything in the resource directory became stable
for at least 60 seconds. This may be somewhat too conservative
when having k>2 participants on the same resource.
2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
fd0309fee9 log symlink creation 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
a32b4a9e7a make dentry update less verbose 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
b9b14577fb fix incomplete propagation of dentries 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
ba9c9b725c oops, wrong value 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
de11fbfc13 add indicator for rest space: /mars/rest-space-* 2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
cc6b43a5a1 make exhaust limit for /mars/ configurable 2013-01-20 23:23:40 +01:00
Thomas Schoebel-Theuer
2f9d86b994 rename /proc/sys/mars to /proc/sys/mars/trigger
create basis for adding more entries to /proc/sys/mars/
2013-01-20 23:23:40 +01:00
Thomas Schoebel-Theuer
bd55c058e1 replicate /mars/exhaused-* to all peers 2013-01-20 23:23:40 +01:00