Commit Graph

307 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
25d954051b logger: move ranking array from stack to brick instance
Don't allocate this on the stack, it might grow too big in future.
Reduces the risk of stack overflows (not observed until now, but
suspected).
2016-01-02 10:18:22 +01:00
Thomas Schoebel-Theuer
045d0e0356 logger: fix potential deadlock caused by incorrect accounting
Never observed in practice, found by testing with kernel upstream
versions.
2016-01-02 09:43:22 +01:00
Thomas Schoebel-Theuer
c1ee80f9f4 server: fix memory leak on writes
This was unnoticed for a long time because it simply did not occur
in ordinary MARS Light workloads.
2015-10-19 07:24:20 +02:00
Thomas Schoebel-Theuer
54d8433b21 light: fix spelling 2015-10-07 10:46:04 +02:00
Thomas Schoebel-Theuer
4d8dc3a619 logger: fix spelling 2015-10-07 10:45:51 +02:00
Thomas Schoebel-Theuer
af6ac736c5 if: fix wrong error code ENOSYS 2015-10-07 10:44:44 +02:00
Thomas Schoebel-Theuer
66d200dbf1 infra: fix wrong error code ENOSYS 2015-10-07 10:44:35 +02:00
Thomas Schoebel-Theuer
c6235c71d5 aio: fix race on shutdown 2015-07-15 10:38:49 +02:00
Thomas Schoebel-Theuer
550d02935e sio: fix race on shutdown 2015-07-15 10:38:49 +02:00
Thomas Schoebel-Theuer
91f458fe66 sio: convert to new mapfree infrastructure 2015-07-15 10:38:49 +02:00
Thomas Schoebel-Theuer
c39a2988b7 light: fix long-lasting switchoff at end of sync 2015-06-17 11:33:27 +02:00
Thomas Schoebel-Theuer
4ecd6937c7 light: don't try fetching from (none) 2015-06-17 11:33:27 +02:00
Thomas Schoebel-Theuer
6eb5cefc19 infra: clean buffer cache on opening block devices 2015-06-17 11:33:18 +02:00
Thomas Schoebel-Theuer
7cbb705882 logger: safeguard endio() calling conventions 2015-05-05 08:46:28 +02:00
Thomas Schoebel-Theuer
18f1ae84f3 logger: fix race on completion refcount 2015-05-05 08:46:28 +02:00
Thomas Schoebel-Theuer
876625d66a light: disallow modprobe when UUID is missing 2015-03-23 13:48:11 +01:00
Thomas Schoebel-Theuer
9cb5b54cdc infra: remove outdated code 2015-03-23 13:48:11 +01:00
Thomas Schoebel-Theuer
7d66938666 aio: fix portability to changed kernels / kthread implementation
In the long term, mars_aio will be replaced anyway because it
uses userspace concepts like ioctx.

Don't use the internal kthread_stop_nowait() anymore.
It is too cumbersome to catch up with upstream development.
2015-03-23 13:48:10 +01:00
Thomas Schoebel-Theuer
77714f374e aio: safeguard ioctx 2015-03-23 13:48:10 +01:00
Thomas Schoebel-Theuer
a12450d891 if: fix potential race on plugged requests 2015-03-23 13:48:10 +01:00
Thomas Schoebel-Theuer
7f565f77b6 light: prohibit communication with wrong UUID 2015-03-06 11:49:54 +01:00
Thomas Schoebel-Theuer
a1d7faa2fe infra: safeguard mapfree pointers 2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
7ced30b24c infra: report peak IO latencies 2015-02-27 11:32:57 +01:00
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