compatibility with older File::Path, Debug-Option
authorroot@muli3.is.schlittermann.de
Mon, 18 Jul 2011 22:56:50 +0200
changeset 2 79eb9a0609af
parent 1 d5d051a56a87
child 3 910cff130541
compatibility with older File::Path, Debug-Option
fuse
imager
--- a/fuse	Mon Jul 18 13:46:26 2011 +0200
+++ b/fuse	Mon Jul 18 22:56:50 2011 +0200
@@ -4,17 +4,23 @@
 use strict;
 use warnings;
 use autodie qw(:all);
-
+use Getopt::Long;
 use Fuse;
 
-my $src = shift // die "need source directory\n";
-my $mp = shift // die "need mountpoint\n";
+my $opt_debug = 0;
+
+GetOptions("debug!" => \$opt_debug)
+	and @ARGV == 2
+	or die "Bad Usage\n";
+
+my $src = shift;
+my $mp = shift;
 
 $fs::DATA = "$src/data";
 $fs::IDX = "$src/idx";
 
 Fuse::main(mountpoint => $mp,
-    debug => 0,
+    debug => $opt_debug,
     getattr => "fs::getattr",
     getdir => "fs::getdir",
     open => "fs::openfile",
@@ -34,15 +40,18 @@
   my %CACHE;
 
     sub getattr {
-	my $path = $IDX . shift;
-	return stat $path if $path eq "$IDX/";
-	# rest are the idx
-	my @attr = stat $path or return -(ENOENT);
-	my %meta = _get_meta($path);
-	$attr[7] = $meta{devsize};
-	$attr[9] = $meta{timestamp};
-	$attr[2] &= ~0222;		# r/o
-	return @attr;
+		my $path = $IDX . shift;
+		return stat $path if -d $path;
+		# rest are the idx
+		my @attr = stat $path or return -(ENOENT);
+		my %meta = _get_meta($path);
+		use Data::Dumper;
+		warn Dumper \%meta;
+		$attr[7] = $meta{devsize};
+		$attr[9] = $meta{timestamp};
+		$attr[2] &= ~0222;		# r/o
+		warn Dumper \@attr;
+		return @attr;
     }
 
     sub getdir {
--- a/imager	Mon Jul 18 13:46:26 2011 +0200
+++ b/imager	Mon Jul 18 22:56:50 2011 +0200
@@ -6,7 +6,7 @@
 use POSIX qw(strftime);
 use autodie qw(:all);
 use Digest::MD5 qw(md5_hex);
-use File::Path qw(make_path);
+use File::Path qw(mkpath);
 use File::Basename;
 use File::Temp;
 use Sys::Hostname;
@@ -37,7 +37,7 @@
 
 
 -d $DIR or die "$0: $DIR: $!\n";
-make_path($DATA, $IDX);
+mkpath($DATA, $IDX);
 
 
 my $index = File::Temp->new(DIR => $IDX);
@@ -73,7 +73,7 @@
     my $log = sprintf "%6d %s %s" => ($.-1), $cs, $file;
 
     if (!-e "$DATA/$file") {
-	make_path dirname("$DATA/$file");
+	mkpath dirname("$DATA/$file");
 	open(my $out, ">$DATA/$file");
 	if ($compress) { gzip \$data => $out or die $GzipError } 
 	else { print {$out} $data }