don't steal own files
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Dec 2011 18:41:31 +0000 (19:41 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Dec 2011 18:41:31 +0000 (19:41 +0100)
lib/CloudStore/Store.pm

index 6de0e6d..5b6f693 100644 (file)
@@ -323,13 +323,15 @@ sub md5pool {
                my ($pool_uid,$pool_size) = (stat($pool_md5))[4,7];
                my $user = $self->{api}->user_info( $data->{login} );
 
-               if ( $pool_uid != $self->{api}->{md5}->{uid} ) {
-                       chown $self->{api}->{md5}->{uid}, $self->{api}->{md5}->{gid}, $pool_md5;
-                       chmod oct("0444"), $pool_md5;
-                       my $steal_user = $self->{api}->user_info( $pool_uid );
-                       $self->append( $steal_user, 'dedup-steal', $pool_size, $pool_uid, $data->{file} );
+               if ( $pool_uid != $user->{uid} ) {
+                       if ( $pool_uid != $self->{api}->{md5}->{uid} ) {
+                               chown $self->{api}->{md5}->{uid}, $self->{api}->{md5}->{gid}, $pool_md5;
+                               chmod oct("0444"), $pool_md5;
+                               my $steal_user = $self->{api}->user_info( $pool_uid );
+                               $self->append( $steal_user, 'dedup-steal', $pool_size, $pool_uid, $data->{file} );
+                       }
+                       $self->append( $user, 'dedup', $pool_size, $pool_uid, $data->{file} );
                }
-               $self->append( $user, 'dedup', $pool_size, $pool_uid, $data->{file} );
 
                my $dedup = $path . '.dedup';
                rename $path, $dedup;