remove old dedup code
authorDobrica Pavlinusic <dpavlin@rsync1.maxxo.com>
Sun, 12 Feb 2012 01:00:36 +0000 (02:00 +0100)
committerDobrica Pavlinusic <dpavlin@rsync1.maxxo.com>
Sun, 12 Feb 2012 01:00:36 +0000 (02:00 +0100)
lib/CloudStore/dedup.pm [deleted file]
t/dedup.t [deleted file]

diff --git a/lib/CloudStore/dedup.pm b/lib/CloudStore/dedup.pm
deleted file mode 100644 (file)
index 04488cd..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-package CloudStore::dedup;
-use warnings;
-use strict;
-use autodie;
-
-use CloudStore::JSON;
-use File::Path qw(make_path);
-use Data::Dump qw(dump);
-
-sub path_md5 {
-       my ( $path, $md5 ) = @_;
-
-       my $pool = 'md5'; # FIXME sharding?
-       mkdir $pool unless -e $pool;
-
-       if ( -e "$pool/$md5" ) {
-               warn "dedup hit $md5 $path\n";
-               my $dedup = $path . '.dedup';
-               rename $path, $dedup;
-               link "$pool/$md5", $path;
-               unlink $dedup;
-       } else {
-               link $path, "$pool/$md5";
-       }
-}
-
-sub path_remove {
-       my $path = shift;
-
-       my $deleted = CloudStore::JSON::file_data( $path );
-
-       my $md5_path = "md5/$deleted->{md5}";
-
-       my ( undef, undef, undef, $nlink ) = stat $md5_path;
-
-       warn "path_remove $path $nlink ",dump $deleted;
-       open(my $fh, '>>', 'var/dedup.log');
-       print $fh join(' ', $md5_path, $nlink, @_), $/;
-       close $fh;
-}
-
-my $empty_md5 = " " x 32;
-
-sub data {
-       my $data = shift;
-
-       my $blob = "users/$data->{login}/blob";
-       my $path = "$blob/$data->{file}";
-
-       return if -d $path;
-
-       if ( $data->{file} =~ /^(.+\/)?md5sum$/ ) {
-               my $dir = $1;
-               my $imported = 0;
-               warn "$path import\n";
-               open(my $md5sum, '<', $path);
-               while(<$md5sum>) {
-                       chomp;
-                       my ( $md5, $file ) = split(/\s+/,$_,2);
-                       if ( ! -e "md5/$md5" ) {
-                               warn "MISSING $md5 $file\n";
-                               next;
-                       }
-                       my $new = "users/$data->{login}/blob/$dir$file";
-                       if ( ! -e $new ) {
-                               # create path from md5sum file
-                               my $dir = $1 if $new =~ m{^(.+)/[^/]+$};
-                               make_path $dir unless -d $dir;
-                               $imported += link "md5/$md5", $new;
-                       } else {
-                               path_md5 $new => $md5;
-                       }
-               }
-               print "INFO: $path imported $imported files\n";
-       }
-
-       if ( $data->{md5} ne $empty_md5 ) {
-               path_md5 $path => $data->{md5};
-       } else {
-               path_remove $path, $data->{timestamp};
-       }
-}
-
-1;
diff --git a/t/dedup.t b/t/dedup.t
deleted file mode 100755 (executable)
index 54357e8..0000000
--- a/t/dedup.t
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/perl
-use strict;
-use warnings;
-
-use Test::More tests => 3;
-use Data::Dump qw(dump);
-
-use lib 'lib';
-
-use_ok 'CloudStore::dedup';
-
-my $md5 = "51ce99ec40129bfe1fd11d65b346d15e";
-my $file = "users/test/blob/foo";
-
-my $r;
-
-ok( $r = CloudStore::dedup::path_md5( $file, "test1-$md5" ), 'path_md5' );
-diag dump($r);
-
-ok( $r = CloudStore::dedup::path_remove( $file ), 'path_remove' );
-diag dump($r);
-