IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24281 for trunk/Nebulous


Ignore:
Timestamp:
May 29, 2009, 4:09:09 PM (17 years ago)
Author:
jhoblitt
Message:

add chmod() API

Location:
trunk/Nebulous
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous/Changes

    r24264 r24281  
    11Revision history for Nebulous
     2
     30.17
     4    - add chmod() API
    25
    360.10
  • trunk/Nebulous/MANIFEST

    r23934 r24281  
    9898t/66_client_xattr.t
    9999t/67_client_swap.t
     100t/68_client_chmod.t
    100101t/70_neb-ls.t
    101102t/90_nebclient.t
  • trunk/Nebulous/lib/Nebulous/Client.pm

    r23934 r24281  
    99no warnings qw( uninitialized );
    1010
    11 our $VERSION = '0.09';
     11our $VERSION = '0.17';
    1212
    1313use Digest::MD5;
     
    10481048
    10491049
     1050sub chmod
     1051{
     1052    my $self = shift;
     1053
     1054    my ($key, $mode) = validate_pos( @_,
     1055        {
     1056            type => SCALAR,
     1057        },
     1058        {
     1059            type => SCALAR,
     1060            regex       => qr/\d{3,4}/,
     1061        },
     1062    );
     1063
     1064    $log->debug( "entered - @_" );
     1065
     1066    my $response = $self->{ 'server' }->chmod_object($key, $mode);
     1067    if ( $response->fault ) {
     1068        $self->set_err($response->faultstring);
     1069        if ($response->faultstring =~ /is valid object key/) {
     1070            $log->debug( "leaving" );
     1071            return;
     1072        }
     1073        if ($response->faultstring =~ /is allowable mode/) {
     1074            $log->debug( "leaving" );
     1075            return;
     1076        }
     1077
     1078        $log->logdie("unhandled fault - ", $self->err);
     1079    }
     1080
     1081    my $response_mode = $response->result;
     1082
     1083    $log->debug( "leaving" );
     1084
     1085    return $response_mode;
     1086}
     1087
     1088
    10501089sub err
    10511090{
  • trunk/Nebulous/lib/Nebulous/Client.pod

    r20094 r24281  
    1313    );
    1414
    15     my $uri = $neb->create( "key", "node01" );
    16     my $fh = $neb->open_create( "key", "node01" );
    17     $neb->replicate( "key", "node01" );
    18     $neb->cull( "key", "node01" );
    19     $neb->lock( "key", 'write' );
    20     $neb->unlock( "key", 'write' );
     15    my $uri = $neb->create( $key, $vol );
     16    my $fh = $neb->open_create( $key, $vol );
     17    $neb->replicate( $key, $vol );
     18    $neb->cull( $key, $vol );
     19    $neb->lock( $key, 'write' );
     20    $neb->unlock( $key, 'write' );
    2121    $neb->setxattr( $key, $name, $value, $flags );
    2222    $neb->getxattr( $key, $name );
     
    2424    $neb->removexattr( $key, $name );
    2525    my $uris = $neb->find_objects( $pattern );
    26     my $uris = $neb->find_instances( "key", "node01" );
    27     my $path = $neb->find( "key" );
    28     my $fh = $neb->open( "key", 'read' );
    29     $neb->delete( "key" );
    30     $neb->copy( "key", "new_key", "node01" );
    31     $neb->move( "key", "new_key" );
    32     $neb->swap( "key1", "key2" );
     26    my $uris = $neb->find_instances( $key, $vol );
     27    my $path = $neb->find( $key );
     28    my $fh = $neb->open( $key, 'read' );
     29    $neb->delete( $key );
     30    $neb->copy( $key, $new_key, $vol );
     31    $neb->move( $key, $new_key );
     32    $neb->swap( $key1, $key2 );
    3333    $neb->delete_instance( $uri );
    34     my $stats = $neb->stat( "key" );
     34    my $stats = $neb->stat( $key );
    3535    my $mounts = $neb->mounts();
     36    my $mode = $neb->chmod( $key, $mode );
    3637
    3738=head1 DESCRIPTION
     
    425426    ]
    426427
     428=item * chmod( $key, $mode );
     429
     430Accepts 2 parameters, both mandatory.  C<$key> is the nebulous key to operate
     431on and C<$mode> are the POSIX like file permissions to set on all instances of
     432C<$key>.  C<$mode> must be specified in oct.  Returns C<$mode> or sucess or an
     433exception on failure.
     434
    427435=back
    428436
Note: See TracChangeset for help on using the changeset viewer.