[gparted] Add file system specific remove() methods (#670171)



commit 795a92f5b2d4438664f7f520c7131add4c27ca1c
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date:   Wed Jul 25 21:05:33 2012 +0100

    Add file system specific remove() methods (#670171)
    
    This commit only adds a remove() method to every file system and an
    optional call to it in the relevant operations.  All remove() methods
    are no operations and not enabled.
    
    The remove() method provides explicit controlled removal of a file
    system before the partition is deleted or overwritten by being formatted
    or pasted into.  When implemented, it appears as an extra step in the
    relevant operation.  The file system specific remove() method is
    explicitly allowed to fail and stop the operations currently being
    applied.
    
    This is different to the existing erase_filesystem_signatures() which
    wipes any previous file system signatures immediately before a new file
    system is written to ensure there is no possibility of the partition
    containing two or more different file system signatures.  It never fails
    or reports anything to the user.
    
    NOTE:
    Most file systems should NOT implement a remove() method as it will
    prevent recovery from accidental partition deletion.
    
    Bug #670171 - Add LVM PV read-write support

 include/FileSystem.h   |    3 ++-
 include/GParted_Core.h |    4 +++-
 include/Utils.h        |    4 +++-
 include/btrfs.h        |    1 +
 include/exfat.h        |    1 +
 include/ext2.h         |    1 +
 include/ext3.h         |    1 +
 include/ext4.h         |    1 +
 include/fat16.h        |    1 +
 include/fat32.h        |    1 +
 include/hfs.h          |    1 +
 include/hfsplus.h      |    1 +
 include/jfs.h          |    1 +
 include/linux_swap.h   |    1 +
 include/lvm2_pv.h      |    1 +
 include/nilfs2.h       |    1 +
 include/ntfs.h         |    1 +
 include/reiser4.h      |    1 +
 include/reiserfs.h     |    1 +
 include/ufs.h          |    1 +
 include/xfs.h          |    1 +
 src/GParted_Core.cc    |   32 +++++++++++++++++++++++++++++---
 src/btrfs.cc           |    5 +++++
 src/exfat.cc           |    5 +++++
 src/ext2.cc            |    5 +++++
 src/ext3.cc            |    7 ++++++-
 src/ext4.cc            |    7 ++++++-
 src/fat16.cc           |    5 +++++
 src/fat32.cc           |    5 +++++
 src/hfs.cc             |    5 +++++
 src/hfsplus.cc         |    5 +++++
 src/jfs.cc             |    5 +++++
 src/linux_swap.cc      |    5 +++++
 src/lvm2_pv.cc         |    5 +++++
 src/nilfs2.cc          |    5 +++++
 src/ntfs.cc            |    5 +++++
 src/reiser4.cc         |    5 +++++
 src/reiserfs.cc        |    5 +++++
 src/ufs.cc             |    5 +++++
 src/xfs.cc             |    5 +++++
 40 files changed, 147 insertions(+), 8 deletions(-)
---
diff --git a/include/FileSystem.h b/include/FileSystem.h
index f69e9e4..de4270a 100644
--- a/include/FileSystem.h
+++ b/include/FileSystem.h
@@ -55,7 +55,8 @@ public:
 			   const Glib::ustring & dest_part_path,
 			   OperationDetail & operationdetail ) = 0 ;
 	virtual bool check_repair( const Partition & partition, OperationDetail & operationdetail ) = 0 ;
-	
+	virtual bool remove( const Partition & partition, OperationDetail & operationdetail ) = 0 ;
+
 protected:
 	int execute_command( const Glib::ustring & command, OperationDetail & operationdetail ) ;
 	int execute_command_timed( const Glib::ustring & command
diff --git a/include/GParted_Core.h b/include/GParted_Core.h
index 4317da0..968bdf6 100644
--- a/include/GParted_Core.h
+++ b/include/GParted_Core.h
@@ -97,7 +97,9 @@ private:
 	bool format( const Partition & partition, OperationDetail & operationdetail ) ;
 
 	bool Delete( const Partition & partition, OperationDetail & operationdetail ) ;
-	
+
+	bool remove_filesystem( const Partition & partition, OperationDetail & operationdetail ) ;
+
 	bool label_partition( const Partition & partition, OperationDetail & operation_detail ) ;
 	
 	bool change_uuid( const Partition & partition, OperationDetail & operation_detail ) ;
diff --git a/include/Utils.h b/include/Utils.h
index 87dfd1a..d91aae2 100644
--- a/include/Utils.h
+++ b/include/Utils.h
@@ -125,13 +125,15 @@ struct FS
 	Support move ; //startpoint and endpoint
 	Support check ; //some checktool available?
 	Support copy ;
+	Support remove ;
 
 	Byte_Value MIN ; 
 	Byte_Value MAX ;
 	
 	FS()
 	{
-		read = read_label = write_label = read_uuid = write_uuid = create = grow = shrink = move = check = copy = NONE;
+		read = read_label = write_label = read_uuid = write_uuid = create = grow = shrink =
+		move = check = copy = remove = NONE ;
 		MIN = MAX = 0 ;
 	} 
 } ;
diff --git a/include/btrfs.h b/include/btrfs.h
index 807d522..7402fe1 100644
--- a/include/btrfs.h
+++ b/include/btrfs.h
@@ -43,6 +43,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 
 private:
 	static Byte_Value btrfs_size_to_num( Glib::ustring str, Byte_Value ptn_bytes, bool scale_up ) ;
diff --git a/include/exfat.h b/include/exfat.h
index 2518e5d..e21562f 100644
--- a/include/exfat.h
+++ b/include/exfat.h
@@ -47,6 +47,7 @@ public:
 	         , OperationDetail & operationdetail
 	         ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/ext2.h b/include/ext2.h
index 7a1de2a..6b76d62 100644
--- a/include/ext2.h
+++ b/include/ext2.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/ext3.h b/include/ext3.h
index 3e349f7..18eb16b 100644
--- a/include/ext3.h
+++ b/include/ext3.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 
diff --git a/include/ext4.h b/include/ext4.h
index e51dbd5..004c09c 100644
--- a/include/ext4.h
+++ b/include/ext4.h
@@ -43,6 +43,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 
diff --git a/include/fat16.h b/include/fat16.h
index 7d9203b..f21348a 100644
--- a/include/fat16.h
+++ b/include/fat16.h
@@ -45,6 +45,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 
 	static const Glib::ustring Change_UUID_Warning [] ;
 };
diff --git a/include/fat32.h b/include/fat32.h
index 8839ad5..51cd24f 100644
--- a/include/fat32.h
+++ b/include/fat32.h
@@ -45,6 +45,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 
 	const static Glib::ustring ( & Change_UUID_Warning ) [] ;
 };
diff --git a/include/hfs.h b/include/hfs.h
index fe495a9..529f6ba 100644
--- a/include/hfs.h
+++ b/include/hfs.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/hfsplus.h b/include/hfsplus.h
index 4724ac2..0f131e8 100644
--- a/include/hfsplus.h
+++ b/include/hfsplus.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/jfs.h b/include/jfs.h
index 5eba900..5120657 100644
--- a/include/jfs.h
+++ b/include/jfs.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/linux_swap.h b/include/linux_swap.h
index 6be8c23..d62547a 100644
--- a/include/linux_swap.h
+++ b/include/linux_swap.h
@@ -46,6 +46,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/lvm2_pv.h b/include/lvm2_pv.h
index 1aff2a1..50a6031 100644
--- a/include/lvm2_pv.h
+++ b/include/lvm2_pv.h
@@ -44,6 +44,7 @@ public:
 	         , const Glib::ustring & dest_part_path
 	         , OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/nilfs2.h b/include/nilfs2.h
index dae5167..55ee9e0 100644
--- a/include/nilfs2.h
+++ b/include/nilfs2.h
@@ -44,6 +44,7 @@ public:
 	         , OperationDetail & operationdetail
 	         ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/ntfs.h b/include/ntfs.h
index 6101c8b..b8a0a3f 100644
--- a/include/ntfs.h
+++ b/include/ntfs.h
@@ -45,6 +45,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 
 	static const Glib::ustring Change_UUID_Warning [] ;
 };
diff --git a/include/reiser4.h b/include/reiser4.h
index 38c60f8..3e8b8c3 100644
--- a/include/reiser4.h
+++ b/include/reiser4.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/reiserfs.h b/include/reiserfs.h
index 74a24cb..7f91106 100644
--- a/include/reiserfs.h
+++ b/include/reiserfs.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/ufs.h b/include/ufs.h
index 26dc256..20626f9 100644
--- a/include/ufs.h
+++ b/include/ufs.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/include/xfs.h b/include/xfs.h
index bc43ba1..6b73ca5 100644
--- a/include/xfs.h
+++ b/include/xfs.h
@@ -44,6 +44,7 @@ public:
 		   const Glib::ustring & dest_part_path,
 		   OperationDetail & operationdetail ) ;
 	bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
+	bool remove( const Partition & partition, OperationDetail & operationdetail ) ;
 };
 
 } //GParted
diff --git a/src/GParted_Core.cc b/src/GParted_Core.cc
index 6261ebd..a3d0bb9 100644
--- a/src/GParted_Core.cc
+++ b/src/GParted_Core.cc
@@ -655,7 +655,8 @@ bool GParted_Core::apply_operation_to_disk( Operation * operation )
 		switch ( operation ->type )
 		{	     
 			case OPERATION_DELETE:
-				succes = Delete( operation ->partition_original, operation ->operation_detail ) ;
+				succes = remove_filesystem( operation ->partition_original, operation ->operation_detail ) &&
+				         Delete( operation ->partition_original, operation ->operation_detail ) ;
 				break ;
 			case OPERATION_CHECK:
 				succes = check_repair_filesystem( operation ->partition_original, operation ->operation_detail ) &&
@@ -675,7 +676,8 @@ bool GParted_Core::apply_operation_to_disk( Operation * operation )
 						      operation ->operation_detail ) ;
 				break ;
 			case OPERATION_FORMAT:
-				succes = format( operation ->partition_new, operation ->operation_detail ) ;
+				succes = remove_filesystem( operation ->partition_original, operation ->operation_detail ) &&
+				         format( operation ->partition_new, operation ->operation_detail ) ;
 				break ;
 			case OPERATION_COPY:
 			//FIXME: in case of a new partition we should make sure the new partition is >= the source partition... 
@@ -685,7 +687,7 @@ bool GParted_Core::apply_operation_to_disk( Operation * operation )
 				
 					 calibrate_partition( static_cast<OperationCopy*>( operation ) ->partition_copied,
 							      operation ->operation_detail ) &&
-
+				         remove_filesystem( operation ->partition_original, operation ->operation_detail ) &&
 					 copy( static_cast<OperationCopy*>( operation ) ->partition_copied,
 					       operation ->partition_new,
 					       static_cast<OperationCopy*>( operation ) ->partition_copied .get_byte_length(),
@@ -1840,6 +1842,30 @@ bool GParted_Core::Delete( const Partition & partition, OperationDetail & operat
 	return succes ;
 }
 
+bool GParted_Core::remove_filesystem( const Partition & partition, OperationDetail & operationdetail )
+{
+	bool success = true ;
+
+	switch ( get_fs( partition .filesystem ) .remove )
+	{
+		case FS::EXTERNAL:
+			//Run file system specific remove method to delete the file system.  Most
+			//  file systems should NOT implement a remove() method as it will prevent
+			//  recovery from accidental partition deletion.
+			operationdetail .add_child( OperationDetail( String::ucompose(
+								_("delete %1 file system"),
+								Utils::get_filesystem_string( partition .filesystem ) ) ) ) ;
+			success = set_proper_filesystem( partition .filesystem ) &&
+			          p_filesystem ->remove( partition, operationdetail .get_last_child() ) ;
+			operationdetail .get_last_child() .set_status( success ? STATUS_SUCCES : STATUS_ERROR ) ;
+			break ;
+
+		default:
+			break ;
+	}
+	return success ;
+}
+
 bool GParted_Core::label_partition( const Partition & partition, OperationDetail & operationdetail )	
 {
 	if( partition .label .empty() ) {
diff --git a/src/btrfs.cc b/src/btrfs.cc
index 2062be8..f2eb4b2 100644
--- a/src/btrfs.cc
+++ b/src/btrfs.cc
@@ -306,6 +306,11 @@ void btrfs::read_uuid( Partition & partition )
 	}
 }
 
+bool btrfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 //Private methods
 
 //Return the value of a btrfs tool formatted size, including reversing
diff --git a/src/exfat.cc b/src/exfat.cc
index 4b66b6f..618b913 100644
--- a/src/exfat.cc
+++ b/src/exfat.cc
@@ -88,5 +88,10 @@ bool exfat::check_repair( const Partition & partition, OperationDetail & operati
 	return true ;
 }
 
+bool exfat::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
diff --git a/src/ext2.cc b/src/ext2.cc
index c967983..f55dd2b 100644
--- a/src/ext2.cc
+++ b/src/ext2.cc
@@ -183,6 +183,11 @@ bool ext2::check_repair( const Partition & partition, OperationDetail & operatio
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 2 || exit_status == 256 ) ;
 }
 
+bool ext2::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/ext3.cc b/src/ext3.cc
index 05c1995..3779936 100644
--- a/src/ext3.cc
+++ b/src/ext3.cc
@@ -182,6 +182,11 @@ bool ext3::check_repair( const Partition & partition, OperationDetail & operatio
 	//this is quite normal (especially after a copy) so we let the function return true...
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 2 || exit_status == 256 ) ;
 }
-	
+
+bool ext3::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
diff --git a/src/ext4.cc b/src/ext4.cc
index 4839eb9..e00fa44 100644
--- a/src/ext4.cc
+++ b/src/ext4.cc
@@ -185,5 +185,10 @@ bool ext4::check_repair( const Partition & partition, OperationDetail & operatio
 	//this is quite normal (especially after a copy) so we let the function return true...
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 2 || exit_status == 256 ) ;
 }
-	
+
+bool ext4::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/fat16.cc b/src/fat16.cc
index 6bb4512..d5e1fa2 100644
--- a/src/fat16.cc
+++ b/src/fat16.cc
@@ -296,6 +296,11 @@ bool fat16::check_repair( const Partition & partition, OperationDetail & operati
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 256 ) ;
 }
 
+bool fat16::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/fat32.cc b/src/fat32.cc
index 88ca84c..e4f333e 100644
--- a/src/fat32.cc
+++ b/src/fat32.cc
@@ -284,4 +284,9 @@ bool fat32::check_repair( const Partition & partition, OperationDetail & operati
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 256 ) ;
 }
 
+bool fat32::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/hfs.cc b/src/hfs.cc
index 84e1b60..4486fdd 100644
--- a/src/hfs.cc
+++ b/src/hfs.cc
@@ -123,4 +123,9 @@ bool hfs::check_repair( const Partition & partition, OperationDetail & operation
 	return ! execute_command( "hfsck -v " + partition .get_path(), operationdetail ) ;
 }
 
+bool hfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/hfsplus.cc b/src/hfsplus.cc
index 66c868b..5e378bc 100644
--- a/src/hfsplus.cc
+++ b/src/hfsplus.cc
@@ -120,4 +120,9 @@ bool hfsplus::check_repair( const Partition & partition, OperationDetail & opera
 	return ! execute_command( "fsck.hfsplus -f -y " + partition .get_path(), operationdetail ) ;
 }
 
+bool hfsplus::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/jfs.cc b/src/jfs.cc
index 79cfc50..aa4d069 100644
--- a/src/jfs.cc
+++ b/src/jfs.cc
@@ -200,6 +200,11 @@ bool jfs::check_repair( const Partition & partition, OperationDetail & operation
 	return ( exit_status == 0 || exit_status == 1 ) ;
 }
 
+bool jfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/linux_swap.cc b/src/linux_swap.cc
index 64d4404..2b85714 100644
--- a/src/linux_swap.cc
+++ b/src/linux_swap.cc
@@ -179,4 +179,9 @@ bool linux_swap::check_repair( const Partition & partition, OperationDetail & op
 	return true ;
 }
 
+bool linux_swap::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/lvm2_pv.cc b/src/lvm2_pv.cc
index b9dfeb6..18d1ea6 100644
--- a/src/lvm2_pv.cc
+++ b/src/lvm2_pv.cc
@@ -145,4 +145,9 @@ bool lvm2_pv::check_repair( const Partition & partition, OperationDetail & opera
 	return ! execute_command( "lvm pvck -v " + partition .get_path(), operationdetail ) ;
 }
 
+bool lvm2_pv::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/nilfs2.cc b/src/nilfs2.cc
index 37a3673..044b257 100644
--- a/src/nilfs2.cc
+++ b/src/nilfs2.cc
@@ -205,4 +205,9 @@ bool nilfs2::check_repair( const Partition & partition, OperationDetail & operat
 	return true ;
 }
 
+bool nilfs2::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/ntfs.cc b/src/ntfs.cc
index 17b0117..32195c2 100644
--- a/src/ntfs.cc
+++ b/src/ntfs.cc
@@ -238,6 +238,11 @@ bool ntfs::check_repair( const Partition & partition, OperationDetail & operatio
 	return ! execute_command( "ntfsresize -P -i -f -v " + partition .get_path(), operationdetail ) ; 
 }
 
+bool ntfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/reiser4.cc b/src/reiser4.cc
index fbef099..54de53f 100644
--- a/src/reiser4.cc
+++ b/src/reiser4.cc
@@ -164,6 +164,11 @@ bool reiser4::check_repair( const Partition & partition, OperationDetail & opera
 	return ! execute_command( "fsck.reiser4 --yes --fix --quiet " + partition .get_path(), operationdetail ) ;
 }
 
+bool reiser4::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/reiserfs.cc b/src/reiserfs.cc
index 55d1310..4e3cc90 100644
--- a/src/reiserfs.cc
+++ b/src/reiserfs.cc
@@ -189,4 +189,9 @@ bool reiserfs::check_repair( const Partition & partition, OperationDetail & oper
 	return ( exit_status == 0 || exit_status == 1 || exit_status == 256 ) ;
 }
 
+bool reiserfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
diff --git a/src/ufs.cc b/src/ufs.cc
index 80f572f..0003929 100644
--- a/src/ufs.cc
+++ b/src/ufs.cc
@@ -86,6 +86,11 @@ bool ufs::check_repair( const Partition & partition, OperationDetail & operation
 	return true ;
 }
 
+bool ufs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 
diff --git a/src/xfs.cc b/src/xfs.cc
index fb866f0..37549c1 100644
--- a/src/xfs.cc
+++ b/src/xfs.cc
@@ -257,6 +257,11 @@ bool xfs::check_repair( const Partition & partition, OperationDetail & operation
 	return ! execute_command( "xfs_repair -v " + partition .get_path(), operationdetail ) ;
 }
 
+bool xfs::remove( const Partition & partition, OperationDetail & operationdetail )
+{
+	return true ;
+}
+
 } //GParted
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]