nick
905d66af77
Rework a test
2014-01-22 11:45:35 +00:00
nick
866bf835e6
tests: Fix an uninitialized memory access
2013-10-30 22:46:49 +00:00
nick
53cbe14556
mirror: lengthen the request timeout to 60 seconds
...
This is complicated slightly by a need to keep the tests fast, so
we introduce an environment variable that can override the constant
2013-10-30 22:45:12 +00:00
nick
d87af93cec
tests: Add a migration test with many clients connecting in two waves
2013-09-24 10:11:40 +01:00
nick
78fc65c515
bitset: Rename bitset_stream_on/off as bitset_enable/disable_stream
2013-09-23 17:10:14 +01:00
nick
f4793c7059
bitset: Rename bitset_mapping to bitset
2013-09-23 16:58:40 +01:00
nick
847b2ec9ad
status: Remove useless stats
2013-09-23 14:19:49 +01:00
nick
ca9aea0d13
status: Expose migration_seconds_left
2013-09-23 14:09:25 +01:00
nick
0f2225becf
status: Display number of currently connected clients, and whether new clients are allowed
...
These will be useful for migration status monitoring - replaces "is pass == 7?"
2013-09-23 13:38:19 +01:00
nick
71036730c4
Fix a warning in a test
2013-09-23 10:17:50 +01:00
nick
9770bbe42b
tests: Fix for the previous commit
2013-09-20 16:53:30 +01:00
nick
6ffa10bf89
flexnbd: Make a test a bit stricter
2013-09-20 16:00:56 +01:00
nick
0172eb1cba
flexnbd: Some comments and a minor fix in client.c to do with the event stream
2013-09-13 15:17:15 +01:00
nick
c3a5eb0600
bitset: add bitset_stream_size and bitset_stream_queued_bytes
2013-09-12 16:54:42 +01:00
nick
0a029fbbf5
bitset: Add an event stream implementation
...
Nothing is using it yet
2013-09-12 12:30:50 +01:00
nick
83426e1c01
tests: Update check_bitset to use new bitset_free() function
2013-09-11 16:09:27 +01:00
nick
efdd613968
listen: Turn off CLIENT_MAX_WAIT_SECS
...
The idea behind this feature was to avoid the client thread in a listen
server getting stuck forever if the mirroring thread in the source died.
However, it breaks any sane implementation of max_Bps in that thread,
and there are lingering concerns over how it might operate under normal
conditions anyway.
Specifically, if iterating over the bitmap takes a long time, or even just
reading the requisite 8MB from the disc in order to send it, then the
5-second timeout could be hit, causing mirroring to fail unnecessarily.
2013-08-14 16:09:55 +01:00
nick
385c9027db
flexnbd status: display mirror->max_bytes_per_second as mirror_speed_limit
2013-08-14 13:30:25 +01:00
nick
9f4fbe782c
Branch merge
2013-08-09 17:03:25 +01:00
nick
754949d43f
bitset: Add a bitset_run_count_ex that lets you learn the value of the bits in the run
2013-08-09 16:49:38 +01:00
lupine
1a966ca0be
bitset: Prove that bitset operations with len=0 don't underflow
2013-07-26 17:09:21 +01:00
nick
f590f8ed3c
status: Add migration_speed ( bytes per second ) and migration_duration( seconds ) to the migration output
2013-07-26 11:50:01 +01:00
nick
bc9ce93648
bitset: squash one more bug
2013-07-25 10:58:50 +01:00
nick
bed8959d47
bitset: Fix large runs
2013-07-24 17:42:08 +01:00
nick
253cee5a10
flexnbd: Acknowledge new return type of bitset_run_count
2013-07-24 15:08:29 +01:00
nick
d18423c153
tests: Fix a couple of compile warnings
2013-07-23 17:22:23 +01:00
nick
1b0fe24529
test: Add some tests for bitset_run_count
2013-07-23 17:13:40 +01:00
nick
afe76debf7
flexnbd status: Actually output pass statistics
2013-07-08 14:27:04 +01:00
nick
f4bfc70a4b
flexnbd status: Add current pass clean/dirty byte statistics
2013-07-08 13:51:15 +01:00
nick
b29ef6d4de
flexnbd status: Avoid a possible NULL dereference reading migration status
...
While the mirror mutex is taken, the mirroring can be abandoned and serve->mirror
set to NULL, so we need to lock around reading information from serve->mirror
2013-07-08 13:32:14 +01:00
nick
dee0bb27d6
flexnbd status: Add the size of the backing file, in bytes
...
This will be handy information if you're querying flexnbd for migration
stats, particularly.
2013-07-08 10:11:18 +01:00
nick
f556f298b1
flexnbd status: Add current migration pass to the status output if we're migrating
2013-07-08 09:58:31 +01:00
nick
55b452ebef
Fix tests for new killswitch argument
2013-07-03 10:04:08 +01:00
nick
197c1131bf
tests: Tell us which offset fails
2013-06-18 15:35:24 +01:00
Alex Young
574d44f17f
Add a trivial read buffer to flexnbd-proxy.
...
Since the vast majority (something like 94% on boot) are sequential small
reads, and since network latency is a major factor in determining how fast the
exposed device appears to the client, it makes sense for us to try to minimise
the number of network requests where we safely can.
This patch implements the simplest possible read cache in flexnbd-proxy. When
it receives a read request, if it's a small request then flexnbd-proxy will
double the length of data requested. On receiving the data from the upstream
server, flexnbd-proxy will return the first half to the downstream as normal,
and stash the second half in a buffer. If the very next request is a read, and
the offset and length match those of what we have stored, that second request
will be satisfied from the buffer without going out over the network.
The cache is invalidated by any non-read request, or by a disconnection.
2013-04-29 14:50:42 +01:00
nick
2bb8434128
sockutil: Make sockaddr_address_string conform to its comment
2013-03-19 14:47:50 +00:00
nick
5257e93cb7
flexnbd: Split the proxy mode out into its own binary.
...
"flexnbd-proxy ..." should be identical in operation to "flexnbd proxy ..."
2013-03-19 13:13:37 +00:00
nick
6842864e74
Automated merge with file:///home/lupine/Development/bigv-repos/flexnbd-c-sockutil
2013-02-15 16:53:18 +00:00
nick
98d8fbeaf0
flexnbd: Add a proxy mode
...
This lets us proxy connections between NBD clients and servers, resiliently.
2013-02-15 16:52:16 +00:00
nick
9b67d30608
serve: Make some error conditions non-fatal, test them.
...
We don't want flexnbd serve to fall over and die if the client sends an invalid request.
2013-02-15 16:51:28 +00:00
nick
63f7e3e8d4
Fix some sockutil tests
2013-02-15 16:48:23 +00:00
nick
0324d3000d
branch merge
2013-02-15 13:35:42 +00:00
nick
91085b87fc
flexnbd: Add valgrind suppressions for a bug in glibc-2.11
2013-02-15 13:35:21 +00:00
nick
cb7eed28e7
sockutil: Add some tests for sockaddr_address_string
2013-02-13 15:07:30 +00:00
nick
0fcbe04f80
flexnbd: Remove some obsolete 'rebind' options
...
They steal short options that I want for other things
2013-02-13 13:11:20 +00:00
Alex Young
00d7237f66
Remove an errant debug output from test_happy_path.rb
2012-11-21 09:26:12 +00:00
Alex Young
ed70dacf2f
Don't skip parts of a file when calling fiemap
...
A mis-incremented offset in the fiemap-processing code meant that
non-sparse portions of files were missed.
2012-11-20 17:24:19 +00:00
Alex Young
22bea81445
Don't open the control socket until after the server socket is bound
...
This makes it easier for the tests (and supervisor) to guarantee to be
able to connect to the server socket.
Also this patch moves freeing the mirror supervisor into the server
thread.
2012-10-09 17:35:20 +01:00
Alex Young
161d2fccf1
Rename serve->has_control to serve->success.
...
This makes the use of this variable to signal an unexpected SIGTERM
while migrating less confusing.
2012-10-09 17:20:39 +01:00
Alex Young
a039ceffcb
Merge
2012-10-08 16:02:37 +01:00