Commit Graph

1423 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
feb0b34604 marsadm: fix irritating "Inconsistent" display at primary side
At an actual primary, "Inconsistent" would be the correct description
for the state of the _disk_.

However most sysadmins will confuse this with the state of the
_replication_ (which is of course never inconsistent during
writeback from the memory buffer).

Although documented correctly, misunderstandings continue
to survive, because humans are automatically abstracting away
from detail components such as a "disk", and are automatically
assuming that "marsadm view" would relate to the replication
as a whole.

Avoid misunderstandings by more detailed message distinctions
aiming to address all of these in parallel.
2016-01-15 17:58:30 +01:00
Thomas Schoebel-Theuer
cd122db700 marsadm: display logfile replay errors in diskstate 2016-01-15 17:58:27 +01:00
Thomas Schoebel-Theuer
cc1074fc53 marsadm: add primitive macro errno-text 2016-01-15 17:29:47 +01:00
Thomas Schoebel-Theuer
6c41326f7a marsadm: add basic macro replay-code 2016-01-15 17:23:14 +01:00
Thomas Schoebel-Theuer
496e57e1e1 logger: add new indicator for damaged logfiles 2016-01-15 17:10:58 +01:00
Thomas Schoebel-Theuer
cc1d786654 marsadm: disallow ordinary switching when logfiles are damaged
Only primary --force should be possible in such a (rare) case.
2016-01-15 17:10:48 +01:00
Thomas Schoebel-Theuer
d67336420d light: fix becoming primary when logfiles are damaged
When logfile replay aborts with an error, becoming primary would be
impossible.
Without this, repair would be only possible by complete destruction
of the resource.

A previous version of this patch introduced
/proc/sys/mars/allow_primary_when_damaged which would complicate
the sysadmin interface. People would be unsure what to do.
2016-01-13 14:12:02 +01:00
Thomas Schoebel-Theuer
69386b33d9 marsadm: fix /mars security issues
Only relevant for non-storage servers where customers have access to.

Notice that /mars is a _reserved_ filesystem for MARS-internal purposes.
It has mothing to do with an ordinary filesystem.

Users have generally to be kept out.
2016-01-13 14:12:00 +01:00
Thomas Schoebel-Theuer
5ddc0b8991 all: release light0.1stable21 2016-01-02 10:50:43 +01:00
Thomas Schoebel-Theuer
3eedff125d infra: fix comparison
Under weird circumstances, when a new symlink contents was just a
shortened version (prefix) of the old one, the symlink was not updated.
2016-01-02 10:18:33 +01:00
Thomas Schoebel-Theuer
d18c60f232 infra: fix potential fault
Very old idiotic bug.
Under some circumstances, a byte beyond the end of a non-null-terminated
string (such as produced by the VFS) might be read, potentially leading
to a page fault just one byte after a page border.
2016-01-02 10:18:33 +01:00
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
2b478a13e2 all: release light0.1stable20 2015-10-20 10:21:22 +02:00
Thomas Schoebel-Theuer
6ec43f63d0 doc: add Froscon2015 slides 2015-10-20 09:41:40 +02: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
ccb5021e0f all: release light0.1stable19 2015-10-08 07:53:23 +02:00
Thomas Schoebel-Theuer
b726dc44ac doc: update version 2015-10-08 07:53:23 +02:00
Thomas Schoebel-Theuer
8f92f50799 doc: add quick table DRBD vs MARS 2015-10-08 07:52:37 +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
96bbb42771 contrib: speedup mars_check.sh 2015-10-07 10:42:18 +02:00
Thomas Schoebel-Theuer
9d8dbe9181 contrib: speedup mars_check 2015-10-07 10:42:18 +02:00
Thomas Schoebel-Theuer
3a543d5ca5 marsadm: improve weird --host=other deletion 2015-10-07 10:42:07 +02:00
Thomas Schoebel-Theuer
224ad9f95f all: release light0.1stable18 2015-08-05 10:41:16 +02:00
Thomas Schoebel-Theuer
e534d9ed7e doc: update version 2015-08-05 10:18:33 +02:00
Thomas Schoebel-Theuer
f82d19c4ae doc: describe logrotate intervals 2015-08-05 10:17:47 +02:00
Thomas Schoebel-Theuer
1c424148dc doc: simplify emergency mode 2015-08-05 07:51:14 +02:00
Thomas Schoebel-Theuer
4eb7df274c doc: simplify split-brain resolution
marsadm invalidate is long-proven and the simplest method.
Move the complicated alternative methods to the appendix.
2015-08-04 15:02:25 +02:00
Thomas Schoebel-Theuer
60b6b56604 doc: simplify primary switching
Some caveats are no longer necessary: becoming primary --force
during split brain works for a long time, and has been tested
numerous times already.
2015-08-04 14:18:45 +02:00
Thomas Schoebel-Theuer
8e786d129f marsadm: remove distracting warning
This is no longer needed.
2015-08-04 14:18:45 +02:00
Thomas Schoebel-Theuer
58294defe5 marsadm: safeguard {create,join}-resource against old remains 2015-08-04 10:21:32 +02:00
Thomas Schoebel-Theuer
3e92223e47 marsadm: fix annoying warning in corner case 2015-07-22 12:19:41 +02:00
Thomas Schoebel-Theuer
cbd7cac4ad all: release light0.1stable17 2015-07-15 11:07:12 +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
6d8bd64b7a all: release light0.1stable16 2015-06-22 08:55:16 +02:00
Thomas Schoebel-Theuer
146d5151de doc: update to version 0.23 2015-06-22 08:55:10 +02:00
Thomas Schoebel-Theuer
8d2d119414 doc: new section on clustermanagers 2015-06-22 08:54:36 +02:00
Thomas Schoebel-Theuer
034c2f637e contrib: example script for checking static consistency 2015-06-18 12:17:22 +02:00
Thomas Schoebel-Theuer
81ac96bdbf contrib: example script for checking whether automated switch is
possible
2015-06-18 12:17:22 +02:00
Thomas Schoebel-Theuer
e23f0c35f9 contrib: configurable Nagios checks 2015-06-18 12:17:17 +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
6aede1fc62 all: release light0.1stable15 2015-05-06 13:35:00 +02:00
Thomas Schoebel-Theuer
d2c31a6343 doc: update 2015-05-06 07:50:10 +02:00