pf-tools commit: r545 [ccaillet-guest] - /trunk/lib/PFTools/Disk.pm
parmelan-guest at users.alioth.debian.org
parmelan-guest at users.alioth.debian.org
Fri Sep 28 09:22:47 UTC 2007
Author: ccaillet-guest
Date: Fri Sep 28 09:22:46 2007
New Revision: 545
URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=545
Log:
Initial add of Raid arrays functions :
* MakeRaidArray : creation of raid array
* AddDeviceOnArray : for adding a device in an existant array
* DelDeviceOnArray : for deleting a device in an exiastant array
Modified:
trunk/lib/PFTools/Disk.pm
Modified: trunk/lib/PFTools/Disk.pm
URL: http://svn.debian.org/wsvn/pf-tools/trunk/lib/PFTools/Disk.pm?rev=545&op=diff
==============================================================================
--- trunk/lib/PFTools/Disk.pm (original)
+++ trunk/lib/PFTools/Disk.pm Fri Sep 28 09:22:46 2007
@@ -579,6 +579,55 @@
# Managing RAID array(s) (create, add a disk ...)
#
+sub MakeRaidArray ($$$) {
+ my ( $raid_dev, $raid_level, $dev_list ) = @_ ;
+
+ my ( $cmd, $stat ) ;
+ $cmd = $MDADM.' -C '.$raid_dev.' -l '.$raid_level.' -n '.scalar ( @{$dev_list} ).' '.join ( " ", @{$dev_list} ) ;
+ if ( $DEBUG ) {
+ print 'Exec : '.$cmd."\n" ;
+ } else {
+ if ( ! Exec_cmd ( $cmd, "Unable to create RAID array level ".$raid_level" with command ".$cmd." and with the following error(s)\n" ) ) {
+ return 0 ;
+ }
+ }
+ return CheckArrayRecovery ( $raid_dev ) ;
+}
+
+sub AddDeviceOnArray ($$) {
+ # Variables en parametres d'appel
+ my ( $raid_dev, $device ) = @_ ;
+ # Variables locales a la fonction
+ my $cmd ;
+
+ $cmd = $MDADM.' '.$raid_dev.' -a '.$device ;
+ if ( $DEBUG ) {
+ print 'Exec : '.$cmd."\n" ;
+ } else {
+ if ( ! Exec_cmd ( $cmd, "Problem when adding device ".$device." on ARRAY ".$raid_dev." with command ".$cmd." and with the following error(s)\n" ) ) {
+ return 0 ;
+ }
+ }
+ return CheckArrayRecovery ( $raid_dev ) ;
+}
+
+sub DelDeviceOnArray ($$) {
+ # Variables en parametres d'appel
+ my ( $raid_dev, $device ) = @_ ;
+ # Variables locales a la fonction
+ my $cmd ;
+
+ $cmd = $MDADM.' '.$raid_dev.' -r '.$device ;
+ if ( $DEBUG ) {
+ print 'Exec : '.$cmd."\n" ;
+ } else {
+ if ( ! Exec_cmd ( $cmd, "Problem when deleting device ".$device." on ARRAY ".$raid_dev." with command ".$cmd." and with the following error(s)\n" ) ) {
+ return 0 ;
+ }
+ }
+ return 1 ;
+}
+
#
# Managing DRBD cluster(s)
#
More information about the Pf-tools-commits
mailing list