Commit Graph

545 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
e88e857ee9 light: show logfile name in versionlink 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
4dbedabd78 marsadm: fix typo leading to wrong deletes of versionlinks 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
c63c6b6b81 bio: exclusive lock device 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
bf1a993896 net: fix sock_release() leak 2013-01-23 20:07:00 +01:00
Thomas Schoebel-Theuer
8277655e20 if: fix kunmap() 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
4fcff97e68 brick_say: report any memleaks 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
93b05fc6db mem: more verbose reporting 2013-01-23 20:06:59 +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
31374c81ab lib_log: safeguard seq_nr 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
2a809fddfd trans_logger: fix start_pos on log replay 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
44f45025f8 lib_log: better data safety, rework error handling 2013-01-23 20:06:59 +01:00
Thomas Schoebel-Theuer
bcf323c254 lib_log: add log sequence number checks 2013-01-23 20:06:58 +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
c92ebb653e trans_logger: additional log_flush() on logrotate 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
5d3104ec23 trans_logger: call log_flush() exactly when necessary 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
47c8f6ae57 trans_logger: do preio() much earlier 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
106579ac32 if: add statistics on skip_sync 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
462dc0c12a trans_logger: update inf_min_pos for ALL original requests
even for hidden ones which have been completely shadowed by
later requests.
2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
4ab32dd2a2 trans_logger: fix potentially incorrect log_pos computation 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
f8496d2392 trans_logger: report pos_count specificly for input 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
b5488cbea4 trans_logger: count flying logger requests separately 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
71429b5bee trans_logger: never collect non-persistent data for writeback 2013-01-23 20:06:58 +01:00
Thomas Schoebel-Theuer
f569a3f604 trans_logger: remove obsolete timestamp-basing of writeback
Only costs performance.
The effect should now be achieved by detection of writeback collisions.
2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
5fe6ff76df trans_logger: cease queue banning upon real progress 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
e4ace4a8d5 trans_logger: disallow writeback collisions with itself 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
df950fe505 trans_logger: disallow KEEP_UNIQUE data buffer modification after IO has started 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
8601114229 brick_mem: show BRICK_DEBUG_MEM to other modules 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
6579498a4b lib_log: use uniform allocation size 2013-01-23 20:06:57 +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
51fe58aeac trans_logger: fix races on _inf_callback() 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
5af5fbf6b2 trans_logger: remove deprecated variants 2013-01-23 20:06:57 +01:00
Thomas Schoebel-Theuer
542e3a9ae6 trans_logger: fix race in _complete() 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