Prefix xfs member variables with m_ and initialise POD member
To make it clear they are xfs member variables. Also add a default constructor with an initialisation list so POD (Plain Old Data) member variable m_src_used is never left uninitialised, as it was previously only assigned in xfs::copy(). m_dest_mount_point is a Glib::ustring object which is default constructed to a zero length string so doesn't need adding to the xfs default constructor initialisation list. * C++ FAQ / Should my constructors use "initialization lists" or "assignment"? https://isocpp.org/wiki/faq/ctors#init-lists "Initialization lists. In fact, constructors should initialize as a rule all member objects in the initialization list."
This commit is contained in:
parent
181a801734
commit
bac9e399b8
|
@ -32,6 +32,8 @@ namespace GParted
|
|||
class xfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
xfs() : m_src_used(-1LL) {};
|
||||
|
||||
FS get_filesystem_support() ;
|
||||
void set_used_sectors( Partition & partition ) ;
|
||||
void read_label( Partition & partition ) ;
|
||||
|
@ -48,10 +50,11 @@ public:
|
|||
private:
|
||||
bool copy_progress( OperationDetail * operationdetail );
|
||||
|
||||
Byte_Value src_used; // Used bytes in the source FS of an XFS copy operation
|
||||
Glib::ustring dest_mount_point; // Temporary FS mount point of an XFS copy operation
|
||||
Byte_Value m_src_used; // Used bytes in the source FS of an XFS copy operation
|
||||
Glib::ustring m_dest_mount_point; // Temporary FS mount point of an XFS copy operation
|
||||
};
|
||||
|
||||
|
||||
} //GParted
|
||||
|
||||
#endif /* GPARTED_XFS_H */
|
||||
|
|
22
src/xfs.cc
22
src/xfs.cc
|
@ -272,8 +272,8 @@ bool xfs::copy( const Partition & src_part,
|
|||
if ( src_mount_point .empty() )
|
||||
return false ;
|
||||
|
||||
dest_mount_point = mk_temp_dir( "dest", operationdetail );
|
||||
if ( dest_mount_point .empty() )
|
||||
m_dest_mount_point = mk_temp_dir("dest", operationdetail);
|
||||
if (m_dest_mount_point.empty())
|
||||
{
|
||||
rm_temp_dir( src_mount_point, operationdetail ) ;
|
||||
return false ;
|
||||
|
@ -287,26 +287,26 @@ bool xfs::copy( const Partition & src_part,
|
|||
Byte_Value fs_size;
|
||||
Byte_Value fs_free;
|
||||
if ( Utils::get_mounted_filesystem_usage( src_mount_point, fs_size, fs_free, error ) == 0 )
|
||||
src_used = fs_size - fs_free;
|
||||
m_src_used = fs_size - fs_free;
|
||||
else
|
||||
src_used = -1LL;
|
||||
m_src_used = -1LL;
|
||||
|
||||
if ( success )
|
||||
{
|
||||
success &= ! execute_command("mount -v -t xfs -o nouuid " + Glib::shell_quote(dest_part.get_path()) +
|
||||
" " + Glib::shell_quote(dest_mount_point),
|
||||
" " + Glib::shell_quote(m_dest_mount_point),
|
||||
operationdetail, EXEC_CHECK_STATUS);
|
||||
|
||||
if ( success )
|
||||
{
|
||||
const Glib::ustring copy_cmd = "xfsdump -J - " + Glib::shell_quote( src_mount_point ) +
|
||||
" | xfsrestore -J - " + Glib::shell_quote( dest_mount_point );
|
||||
" | xfsrestore -J - " + Glib::shell_quote(m_dest_mount_point);
|
||||
success &= ! execute_command( "sh -c " + Glib::shell_quote( copy_cmd ),
|
||||
operationdetail,
|
||||
EXEC_CHECK_STATUS|EXEC_CANCEL_SAFE|EXEC_PROGRESS_TIMED,
|
||||
static_cast<TimedSlot>( sigc::mem_fun( *this, &xfs::copy_progress ) ) );
|
||||
|
||||
success &= ! execute_command( "umount -v " + Glib::shell_quote( dest_mount_point ),
|
||||
success &= ! execute_command( "umount -v " + Glib::shell_quote(m_dest_mount_point),
|
||||
operationdetail, EXEC_CHECK_STATUS );
|
||||
}
|
||||
|
||||
|
@ -314,7 +314,7 @@ bool xfs::copy( const Partition & src_part,
|
|||
operationdetail, EXEC_CHECK_STATUS );
|
||||
}
|
||||
|
||||
rm_temp_dir( dest_mount_point, operationdetail ) ;
|
||||
rm_temp_dir(m_dest_mount_point, operationdetail);
|
||||
|
||||
rm_temp_dir( src_mount_point, operationdetail ) ;
|
||||
|
||||
|
@ -333,7 +333,7 @@ bool xfs::check_repair( const Partition & partition, OperationDetail & operation
|
|||
// recorded source FS used bytes.
|
||||
bool xfs::copy_progress( OperationDetail * operationdetail )
|
||||
{
|
||||
if ( src_used <= 0LL )
|
||||
if (m_src_used <= 0LL)
|
||||
{
|
||||
operationdetail->stop_progressbar();
|
||||
// Failed to get source FS used bytes. Remove this timed callback early.
|
||||
|
@ -342,14 +342,14 @@ bool xfs::copy_progress( OperationDetail * operationdetail )
|
|||
Byte_Value fs_size;
|
||||
Byte_Value fs_free;
|
||||
Byte_Value dst_used;
|
||||
if ( Utils::get_mounted_filesystem_usage( dest_mount_point, fs_size, fs_free, error ) != 0 )
|
||||
if (Utils::get_mounted_filesystem_usage(m_dest_mount_point, fs_size, fs_free, error) != 0)
|
||||
{
|
||||
operationdetail->stop_progressbar();
|
||||
// Failed to get destination FS used bytes. Remove this timed callback early.
|
||||
return false;
|
||||
}
|
||||
dst_used = fs_size - fs_free;
|
||||
operationdetail->run_progressbar( (double)dst_used, (double)src_used, PROGRESSBAR_TEXT_COPY_BYTES );
|
||||
operationdetail->run_progressbar((double)dst_used, (double)m_src_used, PROGRESSBAR_TEXT_COPY_BYTES);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue