projects
/
cloudstore.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
adb1a87
)
re-create md5sum database on fatal error
author
Dobrica Pavlinusic
<dpavlin@rsync1.maxxo.com>
Thu, 9 Feb 2012 19:53:14 +0000
(20:53 +0100)
committer
Dobrica Pavlinusic
<dpavlin@rsync1.maxxo.com>
Thu, 9 Feb 2012 19:53:14 +0000
(20:53 +0100)
lib/CloudStore/MD5sum.pm
patch
|
blob
|
history
diff --git
a/lib/CloudStore/MD5sum.pm
b/lib/CloudStore/MD5sum.pm
index
8410ab1
..
e0da2b5
100644
(file)
--- a/
lib/CloudStore/MD5sum.pm
+++ b/
lib/CloudStore/MD5sum.pm
@@
-28,8
+28,11
@@
sub md5sum {
my $md5_path = "$dir/.md5";
my $db = TokyoCabinet::HDB->new();
- $db->open($md5_path, $db->OWRITER | $db->OCREAT)
- or die "can't open $md5_path: ",$db->errmsg( $db->ecode );
+ if ( ! $db->open($md5_path, $db->OWRITER | $db->OCREAT) ) {
+ warn "FATAL ERROR: md5sum $md5_path: ",$db->errmsg( $db->ecode ),"\n";
+ rename $md5_path, $md5_path . 'bak' && warn "saved old file in $md5_path.bak and re-created database";
+ $db->open($md5_path, $db->OWRITER | $db->OCREAT);
+ }
warn "open $md5_path";