Simplify XFS copy specific code progress bar usage (#760709)

Remove starting and stopping the progress bar in xfs::copy().  The
progress bar will be automatically started in xfs::copy_progress()
callback when run_progressbar() is called; and automatically stopped in
FileSystem::execute_command() when it calls stop_progress() at the end.

Note that this will now not initialise the progress bar from zero
immediately that the XFS copy is started, but instead 0.5 seconds into
the copy when xfs::copy_progress() timed callback is called for the
first time.

Bug 760709 - Add progress bars to XFS and EXT2/3/4 file system specific
             copy methods
This commit is contained in:
Mike Fleetwood 2016-02-07 13:27:03 +00:00 committed by Curtis Gedak
parent 438b35aed9
commit 075154b4e8
1 changed files with 0 additions and 3 deletions

View File

@ -254,14 +254,11 @@ bool xfs::copy( const Partition & src_part,
if ( success ) if ( success )
{ {
if ( src_used > 0LL )
operationdetail.run_progressbar( 0.0, (double)src_used, PROGRESSBAR_TEXT_COPY_BYTES );
success &= ! execute_command( "sh -c 'xfsdump -J - " + src_mount_point + success &= ! execute_command( "sh -c 'xfsdump -J - " + src_mount_point +
" | xfsrestore -J - " + dest_mount_point + "'", " | xfsrestore -J - " + dest_mount_point + "'",
operationdetail, operationdetail,
EXEC_CHECK_STATUS|EXEC_CANCEL_SAFE|EXEC_PROGRESS_TIMED, EXEC_CHECK_STATUS|EXEC_CANCEL_SAFE|EXEC_PROGRESS_TIMED,
static_cast<TimedSlot>( sigc::mem_fun( *this, &xfs::copy_progress ) ) ); static_cast<TimedSlot>( sigc::mem_fun( *this, &xfs::copy_progress ) ) );
operationdetail.stop_progressbar();
success &= ! execute_command( "umount -v " + dest_part.get_path(), operationdetail, success &= ! execute_command( "umount -v " + dest_part.get_path(), operationdetail,
EXEC_CHECK_STATUS ); EXEC_CHECK_STATUS );