AFS

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN



 Developer-visible changes:
 * rewrite of method AFS::VOS->backupsys
 * concatenate compiler flags in Makefile.PL
 * cleaned up compiler warnings
 * cleaned up memory allocation for the AFS::PTS, AFS::VOS, AFS::VLDB,
   and AFS::BOS modules
 * closed memory leaks because of multiple calls to "rx_Init" in the
   AFS::PTS, AFS::VOS, AFS::VLDB, and AFS::BOS modules
 * converted "integer" checks to "Scalar::Util(looks_like_number)"
   utility for all AFS::VOS methods and all AFS::VOS examples



Version 2.6.2 (released 31 Mar 2010, revision 961)
http://www.mpa-garching.mpg.de/~nog/perl/AFS-2.6.2.tar.gz

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5

examples/v2/bos/addhost  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::BOS;
use Scalar::Util qw(looks_like_number);

my (@hosts, $host, $clone, $server, $cellname, $bos);

die "Usage: $0 host clone server [cell]\n" if $#ARGV < 1;

$host     = shift;
$clone    = shift;
$server   = shift;
$cellname = shift // '';

if (defined $clone and !looks_like_number($clone)) { warn "$0: CLONE is not an INTEGER ...\n"; }
else                                                   { $clone = int($clone); }

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

@hosts = split (/ /, $host);
my $ok = $bos->addhost(\@hosts, $clone);
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

examples/v2/bos/setrestart  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::BOS;
use Scalar::Util qw(looks_like_number);

my ($general, $newbinary, $time, $server, $cellname, $bos);

die "Usage: $0 general newbinary time server [cell]\n" if $#ARGV < 3;

$general   = shift;
$newbinary = shift;
$time      = shift;
$server    = shift;
$cellname  = shift // '';

if (defined $general and !looks_like_number($general)) { warn "$0: GENERAL is not an INTEGER ...\n"; }
else                                                   { $general = int($general); }
if (defined $newbinary and !looks_like_number($newbinary)) { warn "$0: NEWBINARY is not an INTEGER ...\n"; }
else                                                       { $newbinary = int($newbinary); }

if ($cellname) { $bos = AFS::BOS->new($server, 0, 0, $cellname); }
else           { $bos = AFS::BOS->new($server); }
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

my $ok = $bos->setrestart($time, $general, $newbinary);
print "Error Code: $AFS::CODE\n" if ($AFS::CODE);

$bos->DESTROY;

examples/v2/vos/backupsys  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $prefix, $server, $part, $exclude, $xprefix, $dry);
my ($tbackup, $fbackup, $tbcount, $fbcount);

die "Usage: $0 [prefix server partition exclude xprefix dryrun]\n" if $#ARGV > 5;

$dry     = 1 if $#ARGV == -1;
$prefix  = shift // '';
$server  = shift // '';
$part    = shift // '';
$exclude = shift // 0;
$xprefix = shift // '';
$dry     = shift // $dry // 0;

if (defined $exclude and !looks_like_number($exclude)) { warn "$0: EXCLUDE is not an INTEGER ...\n"; }
else                                                   { $exclude = int($exclude); }
if (defined $dry     and !looks_like_number($dry))     { warn "$0: DRYRUN is not an INTEGER ...\n"; }
else                                                   { $dry = int($dry); }

my $would;
if ($dry) { $would = 'would have'; }
else      { $would = ''; }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

my @prefix  = ($prefix);

examples/v2/vos/create  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $volid, $server, $part, $volume, $maxquota, $vid, $rovid);

die "Usage: $0 server partition volume [max_quota [volid rovolid]]\n" if $#ARGV < 2;

$server   = shift;
$part     = shift;
$volume   = shift;
$maxquota = shift;
$vid      = shift // 0;
$rovid    = shift // 0;

if (defined $maxquota and !looks_like_number($maxquota)) { warn "$0: MAXQUOTA is not an INTEGER ...\n"; }
else                                                     { $maxquota = int($maxquota); }
if (defined $vid      and !looks_like_number($vid))      { warn "$0: VID is not an INTEGER ...\n"; }
else                                                     { $vid = int($vid); }
if (defined $rovid    and !looks_like_number($rovid))    { warn "$0: ROVID is not an INTEGER ...\n"; }
else                                                     { $rovid = int($rovid); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

if ($maxquota) { $volid = $vos->create($server, $part, $volume, $maxquota, $vid, $rovid); }
else           { $volid = $vos->create($server, $part, $volume); }
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Volume %u created on partition /vicep%s of %s\n", $volid, $part, $server; }

examples/v2/vos/dump  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $volume, $time, $file, $server, $part, $clone, $omit, $ok);

die "Usage: $0 volume [time [file [server partition clone omit]]]\n" if $#ARGV < 0;

$volume = shift;
$time   = shift // '';
$file   = shift // '';
$server = shift // '';
$part   = shift // '';
$clone  = shift // 0;
$omit   = shift // 0;

if (defined $clone and !looks_like_number($clone)) { warn "$0: CLONE is not an INTEGER ...\n"; }
else                                               { $clone = int($clone); }
if (defined $omit  and !looks_like_number($omit))  { warn "$0: OMIT is not an INTEGER ...\n"; }
else                                               { $omit = int($omit); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$ok = $vos->dump($volume, $time, $file, $server, $part, $clone, $omit);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "Dumped volume $volume in file $file\n" if ($file); }

examples/v2/vos/listvol  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Time::localtime;
use Scalar::Util qw(looks_like_number);

my ($vos, $server, $part, $fast, $extend, $Debugging, $long, $shift);

$Debugging = 0;
$long      = 0;
$shift     = 0;

if (defined @ARGV and $ARGV[0] eq '-d') { $Debugging = 1; $shift++; }
if (defined @ARGV and $ARGV[0] eq '-l') { $long      = 1; $shift++; }
$shift && shift;
die "Usage: $0 server [partition [fast [extended]]]\n" if $#ARGV < 0;

$server = shift;
$part   = shift // '';
$fast   = shift // 0;
$extend = shift // 0;

if (defined $fast   and !looks_like_number($fast))   { warn "$0: FAST is not an INTEGER ...\n"; }
else                                                 { $fast = int($fast); }
if (defined $extend and !looks_like_number($extend)) { warn "$0: EXTENDED is not an INTEGER ...\n"; }
else                                                 { $extend = int($extend); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

my $partlist = $vos->listvol($server, $part, $fast, $extend);
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

if    ($fast)      { print_fast($partlist); }
elsif ($extend)    { print_ext($partlist); }

examples/v2/vos/offline  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $server, $part, $volume, $busy, $sleep, $ok);

die "Usage: $0 server partition volume [bussy sleep]\n" if $#ARGV < 2;

$server = shift;
$part   = shift;
$volume = shift;
$busy   = shift // 0;
$sleep  = shift // 0;

if (defined $busy  and !looks_like_number($busy))  { warn "$0: BUSY is not an INTEGER ...\n"; }
else                                               { $busy = int($busy); }
if (defined $sleep and !looks_like_number($sleep)) { warn "$0: SLEEP is not an INTEGER ...\n"; }
else                                               { $sleep = int($sleep); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$ok = $vos->offline($server, $part, $volume, $busy, $sleep);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Task %s \n", $ok ? "done" : "failed"; }

examples/v2/vos/release  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $volume, $force, $ok);

die "Usage: $0 volume [force]\n" if $#ARGV < 0;

$volume = shift;
$force  = shift // 0;

if (defined $force and !looks_like_number($force)) { warn "$0: FORCE is not an INTEGER ...\n"; }
else                                               { $force = int($force); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$ok = $vos->release($volume, $force);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { print "Released volume $volume successfully \n"; }

examples/v2/vos/restore  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $server, $part, $volume, $dfile, $id, $inter, $ovwrt, $offln, $ronly, $ok);

die "Usage: $0 server partition volume [ dumpfile [ id [inter [overwrite [offline [ readonly]]]]]]\n" if $#ARGV < 2;

$server = shift;
$part   = shift;
$volume = shift;
$dfile  = shift // '';
$id     = shift // '';
$inter  = shift // 0;
$ovwrt  = shift // '';
$offln  = shift // 0;
$ronly  = shift // 0;

if (defined $inter and !looks_like_number($inter)) { warn "$0: INTER is not an INTEGER ...\n"; }
else                                               { $inter = int($inter); }
if (defined $offln and !looks_like_number($offln)) { warn "$0: OFFLN is not an INTEGER ...\n"; }
else                                               { $offln = int($offln); }
if (defined $ronly and !looks_like_number($ronly)) { warn "$0: RONLY is not an INTEGER ...\n"; }
else                                               { $ronly = int($ronly); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$ok = $vos->restore($server, $part, $volume, $dfile, $id, $inter, $ovwrt, $offln, $ronly);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Restored volume $volume on $server /vicep$part \n"; }

examples/v2/vos/setquota  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $volume, $quota, $clear, $ok);

die "Usage: $0 volume quota [ clear ]\n" if $#ARGV < 1;

$volume = shift;
$quota  = shift;
$clear  = shift // 0;

if (defined $quota and !looks_like_number($quota)) { warn "$0: QUOTA is not an INTEGER ...\n"; }
else                                               { $quota = int($quota); }
if (defined $clear and !looks_like_number($clear)) { warn "$0: CLEAR is not an INTEGER ...\n"; }
else                                               { $clear = int($clear); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

if ($clear) { $ok = $vos->setquota($volume, $quota, $clear); }
else        { $ok = $vos->setquota($volume, $quota); }
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Task %s \n", $ok ? "done" : "failed"; }

examples/v2/vos/zap  view on Meta::CPAN

#!/usr/local/bin/perl

use v5.10.0;
use blib;
use strict;
use warnings;

use AFS::VOS;
use Scalar::Util qw(looks_like_number);

my ($vos, $server, $part, $volume, $force, $backup, $volid);

die "Usage: $0 server partition volume [force [backup]]\n" if $#ARGV < 2;

$server = shift;
$part   = shift;
$volume = shift;
$force  = shift // 0;
$backup = shift // 0;

if (defined $force  and !looks_like_number($force))  { warn "$0: FORCE is not an INTEGER ...\n"; }
else                                                 { $force = int($force); }
if (defined $backup and !looks_like_number($backup)) { warn "$0: BACKUP is not an INTEGER ...\n"; }
else                                                 { $backup = int($backup); }

$vos = AFS::VOS->new;
$AFS::CODE and print "AFS::CODE = $AFS::CODE\n" and die;

$volid = $vos->zap($server, $part, $volume, $force, $backup);
if ($AFS::CODE) { print "AFS::CODE = $AFS::CODE\n"; }
else            { printf "Volume %u deleted\n", $volid; }

src/VOS/VOS.pm  view on Meta::CPAN

# © 2005-2012 Norbert E. Gruener <nog@MPA-Garching.MPG.de>
# © 2003-2004 Alf Wachsmann <alfw@slac.stanford.edu> and
#             Norbert E. Gruener <nog@MPA-Garching.MPG.de>
#
# This library is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#------------------------------------------------------------------------------

use Carp;
use AFS ();
use Scalar::Util qw(looks_like_number);

use vars qw(@ISA $VERSION);

@ISA     = qw(AFS);
$VERSION = 'v2.6.4';

sub DESTROY {
    my (undef, undef, undef, $subroutine) = caller(1);
    if (! defined $subroutine or $subroutine !~ /eval/) { undef $_[0]; }  # self->DESTROY
    else { AFS::VOS::_DESTROY($_[0]); }                                   # undef self
}

sub setquota {
    my $self   = shift;
    my $volume = shift;
    my $quota  = shift || 0;
    my $clear  = shift || 0;

    if (defined $quota and !looks_like_number($quota)) { warn "VOS::setquota: QUOTA is not an INTEGER ...\n"; return 0; }
    else                                               { $quota = int($quota); }
    if (defined $clear and !looks_like_number($clear)) { warn "VOS::setquota: CLEAR is not an INTEGER ...\n"; return 0; }
    else                                               { $clear = int($clear); }

    $self->_setfields($volume, $quota, $clear);
}

sub backupsys {
    my $self = shift;
    my ($prefix, $server, $partition, $exclude, $xprefix, $dryrun) = @_;

    my (@Prefix, @XPrefix, $pcount);

src/inc/Test/Builder.pm  view on Meta::CPAN

}



sub maybe_regex {
	my ($self, $regex) = @_;
    my $usable_regex = undef;
    if( ref $regex eq 'Regexp' ) {
        $usable_regex = $regex;
    }
    # Check if it looks like '/foo/'
    elsif( my($re, $opts) = $regex =~ m{^ /(.*)/ (\w*) $ }sx ) {
        $usable_regex = length $opts ? "(?$opts)$re" : $re;
    };
    return($usable_regex)
};

sub _regex_ok {
    my($self, $this, $regex, $cmp, $name) = @_;

    local $Level = $Level + 1;

src/ppport.h  view on Meta::CPAN

lex_stuff_pvn||5.011002|
lex_stuff_pvs||5.013005|
lex_stuff_pv||5.013006|
lex_stuff_sv||5.011002|
lex_unstuff||5.011002|
listkids|||
list|||
load_module_nocontext|||vn
load_module|5.006000||pv
localize|||
looks_like_bool|||
looks_like_number|||
lop|||
mPUSHi|5.009002||p
mPUSHn|5.009002||p
mPUSHp|5.009002||p
mPUSHs|5.010001||p
mPUSHu|5.009002||p
mXPUSHi|5.009002||p
mXPUSHn|5.009002||p
mXPUSHp|5.009002||p
mXPUSHs|5.010001||p



( run in 2.331 seconds using v1.01-cache-2.11-cpan-9169edd2b0e )