Thomas Schoebel-Theuer
c917bc239b
all: update pre-patches
2013-06-29 21:15:17 +02:00
Thomas Schoebel-Theuer
58e6ae23ad
light: workaround nasty race on kthread_stop()
2013-06-29 21:15:17 +02:00
Daniel Hermann
83b658467b
sio: fix call to vfs_fsync() for newest rhel6 kernels
...
the number of arguments to vfs_fsync has changed in kernel 2.6.35.
The S_BIAS macro (removed at about the same time in 2.6.35) is used to
detect whether vfs_fsync must be called with 2 or 3 args. In RHEL6
kernels 2.6.32, the removal of S_BIAS was backported, but the change
in vfs_fsync was not. So a check for RHEL_MAJOR < 7 is used in
addition to S_BIAS to find the correct number of args for vfs_fsync
call.
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-06-29 21:15:17 +02:00
Thomas Schoebel-Theuer
5b523f16f7
logger: avoid potential races between IO and symlink updates
2013-06-20 15:09:05 +02:00
Thomas Schoebel-Theuer
39ed143e27
logger: fix potential race on replay_end_pos
...
The variable should only be set from outside, e.g. mars_light.
This should also lead to more correct replay_code==2 results.
2013-06-20 15:09:05 +02:00
Thomas Schoebel-Theuer
fe54abb225
logger: update symlinks even at apply of incomplete logfiles
2013-06-20 15:08:48 +02:00
Thomas Schoebel-Theuer
21a5d4160c
logger: disallow skipping of bad data
...
Be as conservative as possible.
Any copputed logfiles must be corrected in userspace.
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
2fee24fe49
light: report is_primary at the end of the round
...
The old code led to ain unnecessary delay of 1 round.
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
81ca278291
aio: fix race on file size
...
The old code used mf->mf_max for correcting the file size, but that
was wrong for multiple writes in flight.
A really correct solution would have to remember all in-flight writes
and compute their minimum IO position. Since that would be too
costly, we just use the old size before any writes have started.
This might be too conservative for extremely high load patterns
(possible starvation problem). For now, take this and check whether
we really need higher effort.
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
faa1c8d802
light: fix attach on locked device
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
a0190b043d
proc: add /proc/sys/mars/info
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
7187462a6e
marsadm: add global uuid to cluster
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
cdd7b85417
infra: systematics of make_brick_all() switching, remove superfluos parameter
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
62dd9c64dd
light: fix logfile replication when trans_logger is not running
2013-06-03 09:05:47 +02:00
Thomas Schoebel-Theuer
bdb6aaef1f
light: fix detach operation
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
59d706ba54
infra: replace brick_version by kill_round
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
bf7c0c9f3b
infra: remove superfluous parameter is_server
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
dfe2dc5b1c
infra: remove recursive button operations
...
All buttons should be switched step-by-step in future.
The previous patch should ensure that no harm can occur.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
726bbe17fc
infra: don't switch off if predecessors are working
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
ce110eb52b
infra: disallow forbidden brick states
...
Switch on only when all predecessor bricks are also on.
Failing to do so can result in fatal errors.
Similarly, switch only off if no successor exists any more.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
326ed48da2
light: remove superfluous timeout parameter
...
The concept was broken.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
e3c10d31a9
net: decrease trigger turnaround time
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
0e15b38457
marsadm: add new commands 'wait-{cluster,resource}'
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
2dd3033ff4
marsadm: split command "primary" into phases
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
4690deb873
marsadm: check attach state
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
db8e4caacf
proc: fix query of lamport clock
2013-05-13 12:50:29 +02:00
Frank Liepold
57b8d173ff
light: correct error code OOM
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
30f97cd23f
light: fix symlink deletion
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
a1caef264c
aio: avoid cluttering the log messages
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
54a8eb31f5
infra: add CONFIG_MARS_CHECKS
2013-04-27 21:59:41 +02:00
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