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