Thomas Schoebel-Theuer
c35065fe97
infra: report global IO hangs
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
c1823bbfab
light: report actually running buildtag
2015-02-27 11:32:56 +01:00
Thomas Schoebel-Theuer
736489eccd
light: suppress irrelevant warning
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
036953fa54
light: provisionary allow fetch during detach
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
0453fbae9b
light: fix race on rmmod
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
f10e7358ad
light: stop syncing upon logfile holes
2015-02-24 15:51:26 +01:00
Thomas Schoebel-Theuer
827b5b5192
light: fix syncpos indication of inconsistency
2015-02-24 12:08:41 +01:00
Thomas Schoebel-Theuer
c03fc47539
light: fix start of sync
2015-02-24 12:08:41 +01:00
Thomas Schoebel-Theuer
0c38493e13
light: add hysteresis to emergency revovery
2015-02-24 12:08:39 +01:00
Thomas Schoebel-Theuer
092201decc
light: less side effects by emergency mode
2015-02-24 11:15:29 +01:00
Thomas Schoebel-Theuer
c81ad56480
copy: reset copy area upon consistency errors
2015-02-24 09:19:46 +01:00
Thomas Schoebel-Theuer
5d81381664
all: disallow sync IO during emergency mode
2015-02-11 15:20:26 +01:00
Thomas Schoebel-Theuer
e7464b3c02
all: correct error code EIO
...
The error code -EIO should always refer to a problem of
lower storage laysers. Thus MARS should not generate that
code itself, but other ones.
2015-01-20 15:20:10 +01:00
Thomas Schoebel-Theuer
802cc73b49
infra: additionally safeguard race on brick resource deallocation
2015-01-19 18:01:04 +01:00
Thomas Schoebel-Theuer
fa49247b8e
infra: fix stale dents
2015-01-19 18:01:04 +01:00
Thomas Schoebel-Theuer
85658c8157
net: speakyness add dump_meta()
2014-12-09 14:31:42 +01:00
Thomas Schoebel-Theuer
ce48d7031c
all: fix hang of NotYetPrimary in lower emergency modes
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
7366cb9dad
light: fix leave-cluster communication
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
28c8575cc0
light: fix becoming primary during split brain
...
Always prefer the own logfile if one exists.
This should improve becoming in most split brain situations.
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
4f936f0cd8
bio: fix invalid block allocations
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
324f472889
if: fix potential race on shutdown
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
c0a9790149
server: fix wrong sharing of brick lists
2014-12-07 09:24:13 +01:00
Thomas Schoebel-Theuer
8969436177
server: fix protocol error
2014-12-07 09:19:37 +01:00
Thomas Schoebel-Theuer
e4d2567eed
client: fix communication protocol error
2014-12-07 09:16:49 +01:00
Thomas Schoebel-Theuer
5c7a3c95cc
net: safeguard protocol errors
2014-12-07 09:16:49 +01:00
Thomas Schoebel-Theuer
4f2b48b0a5
net: safeguard network protocol
2014-12-07 09:16:49 +01:00
Thomas Schoebel-Theuer
039858ae30
net: fix unnoticed short reads
2014-12-04 07:46:06 +01:00
Thomas Schoebel-Theuer
aa09d7df30
all: clarify license GPLv2+
2014-11-25 18:09:17 +01:00
Thomas Schoebel-Theuer
917d5ae2d2
light: fix client shutdown on slow network
...
On slow networks, the generic net_io_timeout is too long if you are
impatiently waiting for disconnect.
Change the io_timeout of the individual client brick to a short value.
2014-11-12 09:01:35 +01:00
Thomas Schoebel-Theuer
1295c43a7a
infra: move io_timeout to generic interface
...
This is needed for the next commit.
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
5fb9fc03d3
net: fix unnecessary socket shutdown on nonblocking connects
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
843a931cae
light: fix zero progress of rate display
2014-11-12 09:01:33 +01:00
Thomas Schoebel-Theuer
547cc60a72
light: fix long-lasting pause-fetch effect
2014-11-12 09:01:33 +01:00
Thomas Schoebel-Theuer
f6cca5ca72
light: fix copy switch off
2014-11-12 09:01:33 +01:00
Thomas Schoebel-Theuer
b0171749a4
infra: fix racy NULL deref on thread termination
2014-11-12 09:01:33 +01:00
Thomas Schoebel-Theuer
2b2e07d24d
bio: fix potential bvec overflow/corruption
2014-11-12 09:01:33 +01:00
Thomas Schoebel-Theuer
1e22d8b64e
bio: fix thread termination
2014-11-12 09:01:32 +01:00
Thomas Schoebel-Theuer
ed57478ace
light: fix versionlink in emergency mode
2014-08-25 09:43:06 +02:00
Thomas Schoebel-Theuer
6a176c26c7
light: fix propagation of maxnr
2014-08-14 10:01:21 +02:00
Thomas Schoebel-Theuer
a81e255ed3
infra: fix BUILDTAG for out-of-tree builds
2014-08-08 10:38:32 +02:00
Thomas Schoebel-Theuer
3a6ff3d2c8
infra: quickfix Redhat/openvz builds
2014-07-14 17:27:11 +02:00
Thomas Schoebel-Theuer
4a2ee37b98
light: treat double logfiles directly as split brain
2014-07-11 08:19:10 +02:00
Thomas Schoebel-Theuer
16f5a5dd77
light: fix becoming primary in multiple logrotated situations
2014-07-11 07:55:33 +02:00
Thomas Schoebel-Theuer
5e4753cffb
infra: check CONFIG_SMP at out-of-tree builds
2014-06-18 12:10:55 +02:00
Thomas Schoebel-Theuer
d7e9f91b87
infra: disable DEBUG_SLAB
...
It leads to misaligned bios which are currently not yet handled by MARS.
TODO: implement unaligend IO and remove this again.
2014-06-18 12:10:55 +02:00
Thomas Schoebel-Theuer
1439d30ffb
all: port to newer kernels (up to 3.15)
2014-06-18 12:10:55 +02:00
Thomas Schoebel-Theuer
d04562a39d
infra: adapt to new kthreads after 3.7
2014-06-18 12:10:55 +02:00
Benjamin Kübler
55daf381f0
infra: fix #4 , Kbuild env hostname
2014-06-18 12:10:54 +02:00
Benjamin Kübler
f525747331
infra: add standalone make
2014-06-18 12:10:54 +02:00
Benjamin Kübler
5feb18d3ad
infra: support Kbuild
2014-06-18 12:10:54 +02:00
Thomas Schoebel-Theuer
b64ed7bd96
infra: fix readdir() call
2014-06-18 12:10:48 +02:00
Thomas Schoebel-Theuer
21991f3cf3
logger: fix scarce race on replay EOF
...
This led to annoying error messages like checksumming mismatches
or record sequence number mismatches etc.
AFAIK the data integrity was not in danger (since the checks
masked out any potentially harmful actions).
2014-06-18 10:44:54 +02:00
Benjamin Kübler
b305f86ae4
infra: change buildtag to git describe for better legibility
2014-05-06 07:45:46 +02:00
Thomas Schoebel-Theuer
b741f0b992
lib_log: quiet annoying false error message
2014-05-06 07:43:54 +02:00
Thomas Schoebel-Theuer
7aebfdf6bb
all: remove __exit annotation
2014-04-24 18:08:31 +02:00
Thomas Schoebel-Theuer
a989a43ecd
infra: fix bounds checking in len2order()
2014-04-23 13:23:56 +02:00
Thomas Schoebel-Theuer
21fe963c5e
infra: fix include of generated header for out-of-tree builds
2014-04-23 13:23:56 +02:00
Thomas Schoebel-Theuer
a2bad6db4e
light: fix initialization/finalization order
2014-04-23 13:23:56 +02:00
Thomas Schoebel-Theuer
349bc0cf1c
proc: fix table termination
2014-04-23 13:23:56 +02:00
Thomas Schoebel-Theuer
782dfc97e4
trans_logger: fix replay_head refcounting, add paranoia
2014-04-20 09:08:54 +02:00
Thomas Schoebel-Theuer
7e932641df
bio: fix refcounting
2014-04-20 09:08:54 +02:00
Thomas Schoebel-Theuer
a35585325d
aio: fix dirty_stage
2014-04-20 07:35:29 +02:00
Thomas Schoebel-Theuer
ce7dbc07f1
infra: fix list initialization
2014-04-08 10:12:58 +02:00
Thomas Schoebel-Theuer
9d39da8096
trans_logger: fix replay disk IO error propagation
2014-04-08 10:10:16 +02:00
Thomas Schoebel-Theuer
90b19cd2f6
infra: fix dent list sorting
2014-04-08 10:06:15 +02:00
Thomas Schoebel-Theuer
c621de770b
all: improve checking of callback chain
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
9ab367f11a
infra: improve callback debugging
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
c45f2da80c
brick_mem: improve debugging
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
fcf4863503
light: fix annoying replay error message
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
9ebea0cb8a
light: don't disturb fetch infos when switched off
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
8af22a1785
light: maintain limiter rates even when switched off
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
2f4696a9cc
all: fix logfile size propagation
2014-03-31 06:59:09 +02:00
Thomas Schoebel-Theuer
8d0ce5c9bd
aio: fix races in EOF computation
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
b0867dbc05
client: fix error propagation
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
2d68b755c2
infra: fix mem error messages
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
6050b4157f
infra: make string allocation fully dynamic
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
43e4312c1a
proc: fix too long string allocation
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
17ef391953
infra: fix string allocation in mars_readlink()
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
5b7fabf167
server: fix refcounting
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
2fc05b5373
light: allow limiting the sync parallelism
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
09a1cd3b32
light: add warning
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
b0a78c8469
light: disable fetch at detach
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
d166653942
light: show new {fetch,sync} info
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
7697826b5d
copy: add timestamp of last advance
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
024c02c532
light: show connection info
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
9340f70c36
light: add info symlinks
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
2ce5e2aad7
light: add per-resource emergency mode
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
d4b31d8bf9
infra: add flood protected syslogging
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
8429aaf773
infra: turn off stack traces at errors
2014-03-19 11:44:58 +01:00
Thomas Schoebel-Theuer
d96931867a
trans_logger: fix error code propagation
2014-03-19 11:44:58 +01:00
Thomas Schoebel-Theuer
e551c1aa87
light: fix emergency mode
2014-03-19 11:44:58 +01:00
Thomas Schoebel-Theuer
7fa4bf1ecd
trans_logger: fix emergency mode
2014-03-19 11:44:57 +01:00
Thomas Schoebel-Theuer
b606644e6d
light: always use replay_tolerance
2014-03-19 11:44:57 +01:00
Thomas Schoebel-Theuer
80294e613e
light: fix fetch at primary side
2014-03-19 11:33:20 +01:00
Thomas Schoebel-Theuer
2a3e59ba93
light: remove wrong err msg
2014-03-19 11:33:04 +01:00
Thomas Schoebel-Theuer
9d86cb679b
all: fix inconsistent terminology apply->replay
...
In most cases, "replay" was already used. So it is easier
to switch the rare "apply" wording to "replay" everywhere (hopefully).
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
e78d0a3078
light: fix peer preferences, use connect-* links
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
0e53f48951
light: fix logfile fetch from multiple peers
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
e5a558aefe
light: fix marker check
...
The old code was not portable across changes of CL_*
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
56f38641ff
infra: fix/remove buggy d_{name,path}len
...
In rare cases, this could lead to buffer overflows.
Replace buggy concept from the prototype phase with more
robust (although slightly less performant) code.
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
6d78a7bc8d
light: do deletions only once
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
528b72b0c0
light: fix potential race on deletions
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
166255ca68
light: fix deletion logic
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
3acb6a02fe
infra: fix removal of stale directories
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
5d2a682cfd
infra: fix readlink() for very long paths
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
012292677c
light: fix string memleak
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
3e9aae53c8
all: fix potential buffer overflows, use vscnprintf()
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
e6abaaa161
light: fix potential endless loop
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
bd9b46fc05
infra: fix forgotten locking
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
7cd1281d2c
light: fix potential flaw in primary switching
2014-03-19 11:30:22 +01:00
Thomas Schoebel-Theuer
b32927a20d
light: fix race in logfile switching
2014-03-19 11:30:22 +01:00
Thomas Schoebel-Theuer
f45c3fbdd3
aio: use aio_sync_mode=2 by default
2014-03-19 11:30:22 +01:00
Thomas Schoebel-Theuer
eacbac7dea
light: fix bad terminology copy_* -> fetch_*
2014-02-04 07:53:33 +01:00
Thomas Schoebel-Theuer
bebcc10fc2
light: shotdown mode, delay re-creation of resource
2014-02-04 07:51:37 +01:00
Thomas Schoebel-Theuer
2eb8162a05
light: fix wrong kill of if_brick
2014-02-03 15:07:46 +01:00
Thomas Schoebel-Theuer
31f3b64ea0
light: fix bad cleanup dependencies
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
dbcbf9f782
light: make trans_logger destructable by symlink removal
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
9a8a4d7eb2
light: fix delete-resource forced dealloc
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
ff7d78a8cc
light: fix removal of deletion markers
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
178637f5e6
light: force shutdown of fetch upon {disonnect,detach}
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
cae1b747b1
light: fix stopping of fetch when remote logfile went away
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
6e54fa1e5e
light: fix peer association of fetch
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
4e17138003
light: make detach/down more robust against following commands
...
Immediately stop syncing when rource should go down.
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
59d141c06e
client: add network abort
...
TCP_KEEPALIVE doesn't seem to work.
Use explicit timeout instead when the network
just drops any packet.
2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
8309fb97e6
light: add peer abort
2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
7be31c47f4
net: add {send,recv}_abort count
...
TCP_KEEPALIVE does not work well in the presence of long-blocking
socket operations.
This quirk allows for software aborts after a configurable number of
sk_{snd,rcv}timeo events.
2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
b60b0887e8
net: disable MSG_DONTWAIT
2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
2bdc298224
net: reduce tcp idle timeout
2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
62d9dd371a
net: allow tcp tuning via /proc/sys/mars/tcp_tuning/
2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
7ad628a725
light: create detailed warn message in userspace
2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
4dd4118f31
light: prevent logfile fetching on primaries and behind split brains
...
Save space in /mars/ by not fetching useless logfiles.
2014-01-23 11:56:36 +01:00
Thomas Schoebel-Theuer
0ad20e54c8
light: prevent races between deletions and re-erected objects
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
216ecbffde
marsadm: prevent mutual overwrite of delete symlinks
...
Add an (unused) host context. Previously, concurrent
log-delete operations triggered by cron could lead to
unnecessary loss of deletetion symlinks.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
64a02e6ed8
light: fix logfile fetch after leave-resource && join-resource
2014-01-23 11:56:34 +01:00
Thomas Schoebel-Theuer
a7756947b8
light: enable logfile fetch debugging
2014-01-23 11:56:34 +01:00
Thomas Schoebel-Theuer
561a9b4c25
light: always use designated primary as sync source
2014-01-23 10:25:27 +01:00
Thomas Schoebel-Theuer
2c8b72e5e3
light: fix use of wrong logfile after primary --force
2014-01-23 10:25:27 +01:00
Thomas Schoebel-Theuer
fc436cf684
light: fix endless creation of holes in emergency mode
2014-01-17 07:40:04 +01:00
Thomas Schoebel-Theuer
1d52efb880
brick_mem: improve debugging messages
2013-12-05 08:08:57 +01:00
Thomas Schoebel-Theuer
ff2b4337ea
infra: show version tags in /proc/sys/mars/version
2013-12-05 08:08:26 +01:00
Thomas Schoebel-Theuer
eb9aebc3ae
infra: fix delay computation in limiter
2013-11-21 07:20:01 +01:00
Thomas Schoebel-Theuer
fd30cd6b44
infra: show ops count in limiter
2013-11-21 07:20:01 +01:00
Thomas Schoebel-Theuer
af418eb9f0
infra: make limiter {min,max}_window configurable
2013-11-21 07:20:00 +01:00
Thomas Schoebel-Theuer
8b74dddc24
infra: fix limiter overflow in denominator
2013-11-21 07:20:00 +01:00
Thomas Schoebel-Theuer
8696e417db
infra: make limiter max_delay settable
2013-11-21 07:20:00 +01:00
Thomas Schoebel-Theuer
606528768f
if: fix amount of throttling
2013-11-20 11:54:14 +01:00
Thomas Schoebel-Theuer
6579393177
light: rename throttling parameters and defaults
2013-11-20 11:13:57 +01:00
Thomas Schoebel-Theuer
65bdee3b08
infra: show cumulatives in all limiters
2013-11-19 12:22:45 +01:00
Frank Liepold
871e3994db
light: fix throttling calculation of request sizes
...
Signed-off-by: Thomas Schoebel-Theuer <schoebel@bell.site>
2013-11-19 11:44:15 +01:00
Thomas Schoebel-Theuer
3b0a78803d
sio: remove non-working kmap()
2013-11-05 13:02:35 +01:00