diff options
Diffstat (limited to 'lib/raidfile/raidfile-config')
-rwxr-xr-x | lib/raidfile/raidfile-config | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/lib/raidfile/raidfile-config b/lib/raidfile/raidfile-config deleted file mode 100755 index 3af59c93..00000000 --- a/lib/raidfile/raidfile-config +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/perl -# distribution boxbackup-0.11rc2 (svn version: 2072) -# -# Copyright (c) 2003 - 2008 -# Ben Summers and contributors. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All use of this software and associated advertising materials must -# display the following acknowledgment: -# This product includes software developed by Ben Summers. -# 4. The names of the Authors may not be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# [Where legally impermissible the Authors do not disclaim liability for -# direct physical injury or death caused solely by defects in the software -# unless it is modified by a third party.] -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -# -# -use strict; - -# should be running as root -if($> != 0) -{ - printf "\nWARNING: this should be run as root\n\n" -} - -# check and get command line parameters -if($#ARGV != 4 && $#ARGV != 2) -{ - print <<__E; - -Setup raidfile config utility. - -Bad command line parameters. -Usage: - raidfile-config config-dir block-size dir0 [dir1 dir2] - -Parameters: - config-dir is usually /etc/box - block-size must be a power of two, and usually the block or - fragment size of your file system - dir0, dir1, dir2 are the directories used as the root of the raid - file system - -If only one directory is specified, then userland RAID is disabled. -Specifying three directories enables it. - -__E - exit(1); -} - -my ($config_dir,$block_size,@dirs) = @ARGV; - -my $conf = $config_dir . '/raidfile.conf'; - -# check dirs are unique, and exist -my %d; -for(@dirs) -{ - die "$_ is used twice" if exists $d{$_}; - die "$_ is not a directory" unless -d $_; - die "$_ should be an absolute path" unless m/\A\//; - $d{$_} = 1; -} - -# check block size is OK -$block_size = int($block_size); -die "Bad block size" if $block_size <= 0; -my $c = 1; -while(1) -{ - last if $c == $block_size; - die "Block size $block_size is not a power of two" if $c > $block_size; - $c = $c * 2; -} - -# check that it doesn't already exist -if(-f $conf) -{ - die "$conf already exists. Delete and try again"; -} - -# create directory -if(!-d $config_dir) -{ - print "Creating $config_dir...\n"; - mkdir $config_dir,0755 or die "Can't create $config_dir"; -} - -# adjust if userland RAID is disabled -if($#dirs == 0) -{ - $dirs[1] = $dirs[0]; - $dirs[2] = $dirs[0]; - print "WARNING: userland RAID is disabled.\n"; -} - -# write the file -open CONFIG,">$conf" or die "Can't open $conf for writing"; - -print CONFIG <<__E; - -disc0 -{ - SetNumber = 0 - BlockSize = $block_size - Dir0 = $dirs[0] - Dir1 = $dirs[1] - Dir2 = $dirs[2] -} - -__E - -close CONFIG; - -print "Config file written.\n"; - |