Commit Graph

397 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
c411a6f243 aio: fix local replay
side effect / regression from 814b92ba19
2013-04-25 16:28:48 +02:00
Thomas Schoebel-Theuer
46f815f54e marsadm: add optional size argument to resize command 2013-04-25 16:06:18 +02:00
Thomas Schoebel-Theuer
803a1c8419 infra: fix race on deletion of say channels 2013-04-25 16:03:48 +02:00
Thomas Schoebel-Theuer
8d93439dcb marsadm: add new command 'set-replay' 2013-04-22 14:40:24 +02:00
Thomas Schoebel-Theuer
20166b6c01 infra: better optimization of memory allocations 2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
1202f2ae8e trans_logger: fix emergency mode (cease_logging) 2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
0c7bb9d00f if: fix bio flags for newer kernels
The old code was just bullshit.
2013-04-19 09:30:15 +02:00
Thomas Schoebel-Theuer
e4e9308310 if: improve performance of big bio requests
Writethrough of bio requests having more than one biovec should
only sync the last one. The others will be written to the transaction
log anyway. No need to wait for each of them to be committed one
by one.
2013-04-18 18:38:03 +02:00
Thomas Schoebel-Theuer
8f6054b0cc trans_logger: call _flush_inputs() more often
The old behaviour could lead to starvation effects.
In particular, direct IO writes were affected.
2013-04-18 18:31:38 +02:00
Thomas Schoebel-Theuer
67b322d600 trans_logger: report replay errors separately 2013-04-16 11:31:42 +02:00
Thomas Schoebel-Theuer
5a5ea9bc52 infra: initialize IO transfer metadata correctly 2013-04-16 10:42:16 +02:00
Thomas Schoebel-Theuer
27fd43cb31 infra: remove obsolete black interface
The backing file should not be exposed from the brick blackbox.
2013-04-16 10:42:16 +02:00
Thomas Schoebel-Theuer
814b92ba19 aio: fix race on file length (workaround)
It appears that concurrent reads and writes on AIO seem to
result in inconsistent reads in some very rare cases, due to
races. Sometimes, the inode claims that the file has been already
appended by a write operation, but the data has not actually hit
the page cache, such that a concurrent read gets NULL blocks.

This is a workaround by "misusing" the mapfree infrastructure.
It depends on uniqueness of file names, which is not the right thing
to do.

Best fix would be in the kernel.
2013-04-16 10:42:16 +02:00
Thomas Schoebel-Theuer
fa48bb94d0 infra: add tracing of max region to mapfree 2013-04-16 10:04:43 +02:00
Thomas Schoebel-Theuer
1cf400bdfb lib_log: change misleading wording of error message 2013-04-16 10:04:43 +02:00
Thomas Schoebel-Theuer
b0b9723cb2 trans_logger: fix possible endless loop on termination 2013-04-16 10:04:43 +02:00
Thomas Schoebel-Theuer
d8ad1718bb server: fix crash on shutdown
seems to be a regression from 03803eee
2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
e106d77721 infra: improve tatomic debugging 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
7e2be30c57 bio: improve debugging 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
b7f1e97def server: safeguard error handling 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
0f6c98ae4d net: fix bad return value of mars_send_raw() 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
5fc2fa0adb aio: fix comm info of event threads 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
be412e736d copy: avoid higher-order pages for state tables 2013-04-15 18:37:12 +02:00
Thomas Schoebel-Theuer
1e56c2bffc client: avoid higher-order pages for hashing 2013-04-15 18:37:11 +02:00
Thomas Schoebel-Theuer
3ca7f91900 if: avoid higher-order pages for hashing 2013-04-15 18:37:11 +02:00
Thomas Schoebel-Theuer
e7c67b73b1 trans_logger: avoid higher-order pages for hashing 2013-04-15 18:37:11 +02:00
Thomas Schoebel-Theuer
d1abe646a6 infra: improve tatomic debugging 2013-04-15 18:37:11 +02:00
Thomas Schoebel-Theuer
6570a8ea59 net: select server statistics separately 2013-04-12 09:59:44 +02:00
Daniel Hermann
9bcc99da6f infra: move script 'gen_config.pl' to scripts/
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-12 08:46:58 +02:00
Thomas Schoebel-Theuer
f5fae8e4ba light: show runtime connection status information 2013-04-12 08:26:25 +02:00
Thomas Schoebel-Theuer
cc0b41ca79 light: track incompatible changes of /mars/ symlink tree layout
In future, any incompatible changes to the symlink tree must be
recognizable by the userspace tools by means of a version number.
2013-04-11 16:56:43 +02:00
Thomas Schoebel-Theuer
bd458a93c5 net: fix crash on deleted server socket
Once a connection is bad, stop sending messages.

Seems to be a regression from 03803ee
2013-04-11 16:56:43 +02:00
Daniel Hermann
176be50435 all: preparations for out-of-tree build
- Makefile: Prepare for out-of-tree build
  - Define CONFIG_MARS_BIGMODULE if build out-of-tree
  - Adjusted target for buildtag.h generation
  - Added target for mars_config.h generation (depends on Kconfig)
  - Commits 949c64e 3e1d566 167dd73 rebased on eaba743
- Added script gen_config.pl to generate mars_config.h from Kconfig
  (Commits f373687 dc92c2f bf863f2 rebased on eaba743)
- Include mars_config.h in mars.h/brick.h/brick_say.h
  (Commits 6f14e02 8f1b7d6 rebased on eaba743)

Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Thomas Schoebel-Theuer
dfeb8e6bbb light: fix hang of logfile update
regression from 0f9f2b40
2013-04-10 15:15:59 +02:00
Thomas Schoebel-Theuer
c474f7ca17 light: fix start of initial sync in weird cases 2013-04-10 11:02:03 +02:00
Thomas Schoebel-Theuer
4d1bbdef5a net: fix parsing of :port syntax 2013-04-10 11:02:03 +02:00
Thomas Schoebel-Theuer
05f202a9d4 net: allow separate ports for traffic shaping 2013-04-09 16:23:45 +02:00
Thomas Schoebel-Theuer
07a40e7881 net: add module parameter mars_port= 2013-04-09 16:10:51 +02:00
Thomas Schoebel-Theuer
eaba743456 light: separate logging of transaction logfile problems 2013-04-09 14:01:07 +02:00
Thomas Schoebel-Theuer
7a6c24c0c1 light: when jammed, create a hole in logfile sequence numbers
The hole will indicate the disruption, and the secondaries will
stuble over it.
2013-04-09 13:17:57 +02:00
Thomas Schoebel-Theuer
c275bec28d light: new systematics for emergency modes (filesystem full) 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
a6aaa93da7 infra: fix forgotten {get,set}_df() 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
1c8fa83d1f infra: control creation of log messages 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
a693f0bc50 infra: export del_channel() for general use 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
ad06f69514 infra: allow stopping of log messages 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
795e931e1f all: make CONFIG_* constants tunable in /proc/sys/mars/ 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
c58417d271 all: move kernel source into separate directory 2013-04-08 17:01:37 +02:00