Commit Graph

218 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
6de8dc9639 trans_logger: remove broken queue depth limit
It wqas broken by concept: large requests from userspace max be
split into many mrefs. Thus a limit on units of #mrefs is not
comparable to userspace limits.

Instead, the ordinary nr_requests limits on kernel device queues
should suffice to get to the intended effect.
2013-04-02 15:35:13 +02:00
Thomas Schoebel-Theuer
da35c04afd light: tell version number upon modprobe and rmmod 2013-03-13 17:16:58 +01:00
Thomas Schoebel-Theuer
79f7e6acd3 light: fix re-computation of todo_primary 2013-01-24 11:12:16 +01:00
Thomas Schoebel-Theuer
cd551926c6 infra: factor out mapfree infrastructure from aio 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
806a62289c infra: fix automatic killing on outputless bricks 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
03803eeea4 server: fix races, completely separate server bricks from main bricks 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
34dac0689b infra: make killing of useless bricks selectable 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
4cbd11372e infra: make showing global statistics configurable 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
62a3d791d1 light: enforce contiguity of logrotate numbers 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
2271f55e8c brick_say: make debug messages runtime-selectable 2013-01-23 20:07:02 +01:00
Thomas Schoebel-Theuer
a7e309cf4b light: change versionlink delimiter to ':' 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
9d491ae27c all: use mapping_set_gfp_mask() everywhere 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
769d606db6 light: speedup recognition of finished logfiles 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
5cfd36618a infra: fix lamport clock on stat() 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
669a2d6f07 light: fix logrotate for primary 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
e88e857ee9 light: show logfile name in versionlink 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
7dcfe9aaf3 light: make mutual exclusion betwenn sync and logging more robust 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
d233862916 light: disallow syncing old data over new one 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
a103643d23 server: fix race on shutdown 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
41d8af3f6d light: trigger after remote copy has finished 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
1160328832 light: call remote_trigger() only when necessary 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
6b31a0265c copy: disallow write overlapping by default 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
f447ebea58 light: bump min_free_kbytes 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
fb964fcc75 mem: pre-allocate only the necessary 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
854e90b384 infra: qiet harmless race 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
7cc5c12436 light: offload trans_logger from symlink update (deadlock prevention) 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
a036a01188 light: fix logfile rotation
The old code had races, migitated by long timeouts.
The new code has strictly no dependencies from realtime.
2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
899b0a5743 trans_logger: fix potential race on old versionlink computation 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
9692a33f33 aio: remove obsolete wait_during_fdsync 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
db06f20a05 light: workaround race between remote deletion and local use 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
531e4def99 infra: fix memleak when brick is not killable 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
146101d034 lib_log: use standard chunk_size in log_read() 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
4677514aab light: immediately stop log replay upon rmmod 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
0f9f2b404d light: protect copy against concurrent logfile updates 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
28d433cc81 trans_logger: fix potential race on log_input
During logrotate, there may exist writeback clusters
with mixed log_inputs. Each sub_mref now gets its individual
log_input inherited from the orig_mref. Add ref counting
to ensure that cleanup can never occur on an active log_input.
2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
ec69356a14 trans_logger: make completion_semantics configurable 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
7b905f93ad trans_logger: limit q0 length 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
fa12becf00 trans_logger: add CRC checksumming of data
Off by default, since it may hurt performance.
2013-01-23 20:06:56 +01:00
Thomas Schoebel-Theuer
d9cbea66c2 aio: do mapfree_pages() via background thread
This is crucial for performance, since invalidate_mapping_pages()
may take a long time and consume a lot of CPU.
Decouple it from time-critical worker threads.
2013-01-23 20:06:56 +01:00
Thomas Schoebel-Theuer
ce41cdee2b server: lockless dent shipping 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
2d225065c8 light: use new lamport timestamp semantics 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
f7b5369468 infra: automatic timestamps in mars_symlink() 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
f7331fccf3 infra: fix readlink 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
e108777ff8 light: new sematics of version links 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
7a01e6a5a8 trans_logger: update symlinks via callback 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
0ef119edd1 infra: intoduce brick_yield() 2013-01-23 20:06:54 +01:00
Thomas Schoebel-Theuer
7b998de219 infra: add mars_readlink() 2013-01-23 20:06:53 +01:00
Thomas Schoebel-Theuer
ab7766e829 infra: qiet harmless stat error 2013-01-23 20:06:53 +01:00
Thomas Schoebel-Theuer
2f74813ce6 light: fix opportunity for bad end_pos computation 2013-01-23 20:06:52 +01:00
Thomas Schoebel-Theuer
1a25b0c57a light: fix hangs caused by bad replay links 2013-01-23 20:06:52 +01:00