diff --git a/debian/changelog b/debian/changelog index cb66c22..de8ee40 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +flexnbd (0.1.7) stable; urgency=medium + + * Return bytes_left in migration statistics. + + -- Chris Elsworth Fri, 14 Jul 2017 17:00:38 +0100 + +flexnbd (0.1.6) stable; urgency=medium + + * Remove lots of per-cpu compiler flags, notably march=native. + + -- Patrick J Cherry Thu, 13 Apr 2017 12:48:23 +0100 + flexnbd (0.1.5) stable; urgency=medium * Switched to native packaging. diff --git a/src/server/status.c b/src/server/status.c index dc8d19f..530bd7b 100644 --- a/src/server/status.c +++ b/src/server/status.c @@ -31,6 +31,7 @@ struct status * status_create( struct server * serve ) status->migration_speed_limit = serve->mirror->max_bytes_per_second; status->migration_seconds_left = server_mirror_eta( serve ); + status->migration_bytes_left = server_mirror_bytes_remaining( serve ); } server_unlock_start_mirror( serve ); @@ -60,6 +61,7 @@ int status_write( struct status * status, int fd ) PRINT_UINT64( migration_speed ); PRINT_UINT64( migration_duration ); PRINT_UINT64( migration_seconds_left ); + PRINT_UINT64( migration_bytes_left ); if ( status->migration_speed_limit < UINT64_MAX ) { PRINT_UINT64( migration_speed_limit ); }; diff --git a/src/server/status.h b/src/server/status.h index a927922..068571b 100644 --- a/src/server/status.h +++ b/src/server/status.h @@ -64,6 +64,8 @@ * Our current best estimate of how many seconds are left before the migration * migration is finished. * + * migration_bytes_left: + * The number of bytes remaining to migrate. */ @@ -84,6 +86,7 @@ struct status { uint64_t migration_speed; uint64_t migration_speed_limit; uint64_t migration_seconds_left; + uint64_t migration_bytes_left; }; /** Create a status object for the given server. */ diff --git a/tests/unit/check_status.c b/tests/unit/check_status.c index 81f79be..1daf556 100644 --- a/tests/unit/check_status.c +++ b/tests/unit/check_status.c @@ -308,6 +308,7 @@ START_TEST( test_renders_migration_statistics ) status.migration_speed = 40000000; status.migration_speed_limit = 40000001; status.migration_seconds_left = 1; + status.migration_bytes_left = 5000; status_write( &status, fds[1] ); fail_if_rendered( fds[0], "migration_duration" ); @@ -335,6 +336,9 @@ START_TEST( test_renders_migration_statistics ) status_write( &status, fds[1] ); fail_unless_rendered( fds[0], "migration_seconds_left=1" ); + status_write( &status, fds[1] ); + fail_unless_rendered( fds[0], "migration_bytes_left=5000" ); + status.migration_speed_limit = UINT64_MAX; status_write( &status, fds[1] );