Reduced FS_Info cache disk reads
svn path=/trunk/; revision=1001
This commit is contained in:
parent
4ef71e5004
commit
7a3fa5a7dd
|
@ -1,3 +1,9 @@
|
||||||
|
2008-12-08 Curtis Gedak <gedakc@gmail.com>
|
||||||
|
|
||||||
|
* include/FS_Info.h,
|
||||||
|
src/FS_Info.cc
|
||||||
|
src/GParted_Core.cc: Reduced FS_Info cache disk reads.
|
||||||
|
|
||||||
2008-12-07 Curtis Gedak <gedakc@gmail.com>
|
2008-12-07 Curtis Gedak <gedakc@gmail.com>
|
||||||
|
|
||||||
* include/Utils.h,
|
* include/Utils.h,
|
||||||
|
|
|
@ -27,13 +27,14 @@ class FS_Info
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FS_Info() ;
|
FS_Info() ;
|
||||||
|
FS_Info( bool do_refresh ) ;
|
||||||
~FS_Info() ;
|
~FS_Info() ;
|
||||||
Glib::ustring get_label( const Glib::ustring & path, bool & found ) ;
|
Glib::ustring get_label( const Glib::ustring & path, bool & found ) ;
|
||||||
Glib::ustring get_uuid( const Glib::ustring & path ) ;
|
Glib::ustring get_uuid( const Glib::ustring & path ) ;
|
||||||
private:
|
private:
|
||||||
void load_fs_info_cache() ;
|
void load_fs_info_cache() ;
|
||||||
Glib::ustring get_device_entry( const Glib::ustring & path ) ;
|
Glib::ustring get_device_entry( const Glib::ustring & path ) ;
|
||||||
Glib::ustring fs_info_cache ;
|
static Glib::ustring fs_info_cache ;
|
||||||
};
|
};
|
||||||
|
|
||||||
}//GParted
|
}//GParted
|
||||||
|
|
|
@ -20,9 +20,20 @@
|
||||||
namespace GParted
|
namespace GParted
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//initialize static data element
|
||||||
|
Glib::ustring FS_Info::fs_info_cache = "";
|
||||||
|
|
||||||
FS_Info::FS_Info()
|
FS_Info::FS_Info()
|
||||||
{
|
{
|
||||||
load_fs_info_cache() ;
|
//Ensure that cache has been loaded at least once
|
||||||
|
if ( fs_info_cache == "" )
|
||||||
|
load_fs_info_cache() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
FS_Info:: FS_Info( bool do_refresh )
|
||||||
|
{
|
||||||
|
if ( do_refresh )
|
||||||
|
load_fs_info_cache() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
FS_Info::~FS_Info()
|
FS_Info::~FS_Info()
|
||||||
|
|
|
@ -143,6 +143,7 @@ void GParted_Core::set_devices( std::vector<Device> & devices )
|
||||||
{
|
{
|
||||||
devices .clear() ;
|
devices .clear() ;
|
||||||
Device temp_device ;
|
Device temp_device ;
|
||||||
|
FS_Info fs_info( true ) ; //Refresh cache of file system information
|
||||||
|
|
||||||
init_maps() ;
|
init_maps() ;
|
||||||
|
|
||||||
|
@ -633,7 +634,7 @@ void GParted_Core::set_device_partitions( Device & device )
|
||||||
{
|
{
|
||||||
int EXT_INDEX = -1 ;
|
int EXT_INDEX = -1 ;
|
||||||
char * lp_path ;//we have to free the result of ped_partition_get_path()..
|
char * lp_path ;//we have to free the result of ped_partition_get_path()..
|
||||||
FS_Info fs_info ; //Build cache of file system information
|
FS_Info fs_info ; //Use cache of file system information
|
||||||
|
|
||||||
//clear partitions
|
//clear partitions
|
||||||
device .partitions .clear() ;
|
device .partitions .clear() ;
|
||||||
|
|
Loading…
Reference in New Issue