-
97a923afdf
mirror: Don't start migrating until the allocation map is built
nick
2013-10-23 15:58:47 +01:00
-
335261869d
mirror: Don't count bytes transferred for the purposes of keeping the stream empty as part of our bwlimit
nick
2013-10-23 15:26:28 +01:00
-
8cf9cae8c0
mirror: Don't sleep if our stream is filling up
nick
2013-10-23 14:38:27 +01:00
-
6986c70888
bitset: Swap pthread_cond_broadcast for pthread_cond_signal
nick
2013-09-24 15:28:58 +01:00
-
4b9ded0e1d
bitset: More-efficient implementation of bitset_stream_queued_bytes
nick
2013-09-24 15:27:17 +01:00
-
b177faacd6
mirror: Reduce the mirror convergence window to 5 seonds, from 60
nick
2013-09-24 14:42:21 +01:00
-
96e60a4a29
Added tag 0.1.0 for changeset acad9e9df53c
nick
2013-09-24 12:27:29 +01:00
-
d87af93cec
tests: Add a migration test with many clients connecting in two waves
0.1.0
nick
2013-09-24 10:11:40 +01:00
-
bc50532321
Fix a current compiler warning
nick
2013-09-23 17:15:56 +01:00
-
22f92c5df0
Fix a potential compiler warning on 32-bit
nick
2013-09-23 17:15:47 +01:00
-
78fc65c515
bitset: Rename bitset_stream_on/off as bitset_enable/disable_stream
nick
2013-09-23 17:10:14 +01:00
-
5c1b119f83
serve: Fix calulation of server_mirror_bytes_remaining
nick
2013-09-23 17:09:55 +01:00
-
f4793c7059
bitset: Rename bitset_mapping to bitset
nick
2013-09-23 16:58:40 +01:00
-
0f0697a0aa
serve: Remove an unused (and incorrect, in any case) function
nick
2013-09-23 16:47:32 +01:00
-
e98c2f2f05
serve: Fix the sense of allow/forbid_new_clients
nick
2013-09-23 16:46:43 +01:00
-
ebe6c4a8ab
mirror: Remove dead code. We still rely on all_dirty in one place.
nick
2013-09-23 14:20:05 +01:00
-
847b2ec9ad
status: Remove useless stats
nick
2013-09-23 14:19:49 +01:00
-
ca9aea0d13
status: Expose migration_seconds_left
nick
2013-09-23 14:09:25 +01:00
-
0ae249009c
serve/mirror: Move some code tracking migration speed into serve
nick
2013-09-23 13:49:01 +01:00
-
0f2225becf
status: Display number of currently connected clients, and whether new clients are allowed
nick
2013-09-23 13:38:19 +01:00
-
a6c175ed1d
serve: Allow number of clients currently being used to be counted
nick
2013-09-23 13:37:13 +01:00
-
94654419c5
serve: Add a comment clarifying that a behaviour is safe
nick
2013-09-23 10:53:55 +01:00
-
e161121c7a
flexnbd: Remove unused ".INCOMPLETE" file code
nick
2013-09-23 10:38:18 +01:00
-
150e506780
flexnbd: Remove the server I/O lock as it no longer has any consumers
nick
2013-09-23 10:29:06 +01:00
-
9a3106f946
flexnbd: Remove the server I/O lock from around NBD requests
nick
2013-09-23 10:22:48 +01:00
-
71036730c4
Fix a warning in a test
nick
2013-09-23 10:17:50 +01:00
-
6553907972
mirror: Fix mirroring, break status
nick
2013-09-20 17:08:14 +01:00
-
9770bbe42b
tests: Fix for the previous commit
nick
2013-09-20 16:53:30 +01:00
-
6ffa10bf89
flexnbd: Make a test a bit stricter
nick
2013-09-20 16:00:56 +01:00
-
eb80c0d235
mirror: Remove server I/O lock and dirty map
nick
2013-09-19 15:18:30 +01:00
-
a5c296f948
mirror: Fix a comment
nick
2013-09-18 16:28:05 +01:00
-
77a66c85a0
serve: Move bitset freeing to after closing the mirror and clients
nick
2013-09-17 17:30:33 +01:00
-
0172eb1cba
flexnbd: Some comments and a minor fix in client.c to do with the event stream
nick
2013-09-13 15:17:15 +01:00
-
c3a5eb0600
bitset: add bitset_stream_size and bitset_stream_queued_bytes
nick
2013-09-12 16:54:42 +01:00
-
0a029fbbf5
bitset: Add an event stream implementation
nick
2013-09-12 12:30:50 +01:00
-
83426e1c01
tests: Update check_bitset to use new bitset_free() function
nick
2013-09-11 16:09:27 +01:00
-
86a000c717
bitset: Some whitespace changes
nick
2013-09-11 15:48:19 +01:00
-
54a41aacdf
bitset: Add a bitset_free() function
nick
2013-09-11 14:41:59 +01:00
-
487bef1f40
flexnbd: Disconnect clients at the start of a mirror last pass
nick
2013-09-10 16:03:26 +01:00
-
0494295705
mirror: Ensure the mirror client socket is closed after a fail, and before a retry
nick
2013-08-27 15:54:59 +01:00
-
14fde0f2a1
mirror: Remove overly-verbose log line
nick
2013-08-21 14:41:19 +01:00
-
e13d1d8fb4
mirror: honour max_bytes_per_second - naive scheme
nick
2013-08-14 16:24:50 +01:00
-
efdd613968
listen: Turn off CLIENT_MAX_WAIT_SECS
nick
2013-08-14 16:09:55 +01:00
-
d0022402ae
mirror: Start our timeout watcher from the first, not second, transfer
nick
2013-08-14 15:29:24 +01:00
-
28fff91af1
flexnbd: add a mirror-speed command to change mirror->max_bytes_per_second
nick
2013-08-14 13:33:02 +01:00
-
385c9027db
flexnbd status: display mirror->max_bytes_per_second as mirror_speed_limit
nick
2013-08-14 13:30:25 +01:00
-
b73081e417
One more fix
nick
2013-08-13 16:22:44 +01:00
-
cc468b0b17
control/mirror: Use uint64_t and strtoull to get max_Bps into the mirror
nick
2013-08-13 12:30:18 +01:00
-
7128fcc901
control: Output abandoned mirror state
nick
2013-08-13 12:29:53 +01:00
-
45355666f7
mirror: And another abandon fix
nick
2013-08-12 16:14:53 +01:00
-
8a294e5ee0
mirror: fix abandon
nick
2013-08-12 15:54:49 +01:00
-
c6764b0de1
mirror: abandon signals are now honoured outside of the remote end being readable / writable
nick
2013-08-12 15:30:21 +01:00
-
41facd2ccf
Branch merge
nick
2013-08-09 17:07:06 +01:00
-
-
f6456349f7
Backed out changeset e58ff57b5e2d
nick
2013-08-09 17:06:56 +01:00
-
9f4fbe782c
Branch merge
nick
2013-08-09 17:03:25 +01:00
-
-
-
-
8c750a5e9d
listen: Allow longer gaps between transfers
nick
2013-08-09 17:02:58 +01:00
-
64702d992d
Minor fixes here and there
nick
2013-08-09 17:02:33 +01:00
-
c2df38c9d3
mirror: Use libev to provide an event loop inside the mirror thread
nick
2013-08-09 17:02:10 +01:00
-
754949d43f
bitset: Add a bitset_run_count_ex that lets you learn the value of the bits in the run
nick
2013-08-09 16:49:38 +01:00
-
1a966ca0be
bitset: Prove that bitset operations with len=0 don't underflow
lupine
2013-07-26 17:09:21 +01:00
-
-
f590f8ed3c
status: Add migration_speed ( bytes per second ) and migration_duration( seconds ) to the migration output
nick
2013-07-26 11:50:01 +01:00
-
bc9ce93648
bitset: squash one more bug
nick
2013-07-25 10:58:50 +01:00
-
a5870b8e9b
Remove a stray debugging statement
nick
2013-07-25 10:14:14 +01:00
-
bed8959d47
bitset: Fix large runs
nick
2013-07-24 17:42:08 +01:00
-
5c59a412af
flexnbd-proxy: ensure upstream cooldown is applied when read init from upstream fails
nick
2013-07-24 16:01:38 +01:00
-
253cee5a10
flexnbd: Acknowledge new return type of bitset_run_count
nick
2013-07-24 15:08:29 +01:00
-
7de22a385e
flexnbd: clients should be MADV_RANDOM, rather than MADV_SEQUENTIAL
nick
2013-07-24 14:18:23 +01:00
-
14db3315ca
non-debug builds get -O2 for impressive bitset speedups
nick
2013-07-24 12:34:36 +01:00
-
efe9eaef7c
bitset: A more-efficient bit(set)_run_count
nick
2013-07-24 12:03:24 +01:00
-
f8fd4e0437
bitset: Actually enable an optimization in bit_set/clear_range
nick
2013-07-24 11:19:52 +01:00
-
9a37951aaa
bitset: Use uint64_t everywhere to avoid possible integer overflows
nick
2013-07-24 10:34:22 +01:00
-
d18423c153
tests: Fix a couple of compile warnings
nick
2013-07-23 17:22:23 +01:00
-
1b0fe24529
test: Add some tests for bitset_run_count
nick
2013-07-23 17:13:40 +01:00
-
5c5636b053
flexnbd mirror: If the final run would be longer than the file size, truncate to file size
nick
2013-07-23 11:00:51 +01:00
-
afe76debf7
flexnbd status: Actually output pass statistics
nick
2013-07-08 14:27:04 +01:00
-
f4bfc70a4b
flexnbd status: Add current pass clean/dirty byte statistics
nick
2013-07-08 13:51:15 +01:00
-
b29ef6d4de
flexnbd status: Avoid a possible NULL dereference reading migration status
nick
2013-07-08 13:32:14 +01:00
-
dee0bb27d6
flexnbd status: Add the size of the backing file, in bytes
nick
2013-07-08 10:11:18 +01:00
-
f556f298b1
flexnbd status: Add current migration pass to the status output if we're migrating
nick
2013-07-08 09:58:31 +01:00
-
55b452ebef
Fix tests for new killswitch argument
nick
2013-07-03 10:04:08 +01:00
-
9f34752842
flexnbd: Make the killswitch runtime-selectable
nick
2013-07-03 09:56:35 +01:00
-
81d41f567d
proxy: Reduce the reconnect cooldown from 15 seconds to 3.
nick
2013-06-20 10:26:34 +01:00
-
89fd18f6f0
proxy: Add a 30-second timeout for requests in-flight to upstream
nick
2013-06-19 16:36:19 +01:00
-
3c56ba0af6
proxy: Fix a comment
nick
2013-06-19 11:27:09 +01:00
-
2a9884e9e9
proxy: Fix the prefetch code
nick
2013-06-19 11:18:52 +01:00
-
1afea5c73d
proxy: Respect the REQUEST_MASK
nick
2013-06-19 11:18:22 +01:00
-
62bdad2a6e
ioutil: Add a bit more debug output to iobuf_read/write
nick
2013-06-19 11:17:46 +01:00
-
cd0a1f905f
proxy: The minor optimisation bugs if needle is not advanced on iobuf_read()
nick
2013-06-19 11:16:35 +01:00
-
2156d06368
proxy: DRY up some code
nick
2013-06-18 16:58:39 +01:00
-
b14bba36ec
proxy: Set proxy->upstream_fd before calling proxy_finish_connect_to_upstream
nick
2013-06-18 15:58:38 +01:00
-
f5c434f21c
proxy: Initial move to event-loop proxy model.
nick
2013-06-18 15:37:39 +01:00
-
662b9c2d07
readwrite: Expose a couple of points of functionality
nick
2013-06-18 15:36:15 +01:00
-
197c1131bf
tests: Tell us which offset fails
nick
2013-06-18 15:35:24 +01:00
-
cecf2ebc77
proxy: log details of a request that fails upstream at the warn level
nick
2013-06-07 12:12:12 +01:00
-
f7e5353355
serve: Add a killswitch that causes the server to uncleanly exit on hang
nick
2013-06-06 14:16:20 +01:00
-
f9fe421472
proxy: Some logging cleanups
nick
2013-06-06 12:24:28 +01:00
-
1b6c10926f
docs: Fix the documentation for the loglevel timestamps
nick
2013-06-06 12:23:14 +01:00
-
24858fcde5
logging: Add a timestamp to the log messages we emit
nick
2013-06-06 11:57:05 +01:00
-
26c7f1b1c4
mirror: munmap() our range on cleanup
nick
2013-05-30 11:09:24 +01:00
-
055836c8cb
mirror: Don't undo the MADV_SEQUENTIAL hinting over the course of a migration
nick
2013-05-30 11:06:15 +01:00