projects
/
id3fs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
filter out empty TRACKS, NOARTIST, NOALBUM
[id3fs.git]
/
lib
/
ID3FS
/
Fuse.pm
diff --git
a/lib/ID3FS/Fuse.pm
b/lib/ID3FS/Fuse.pm
index
14304f7
..
3345bc2
100644
(file)
--- a/
lib/ID3FS/Fuse.pm
+++ b/
lib/ID3FS/Fuse.pm
@@
-6,8
+6,9
@@
use ID3FS::Path;
use Fuse;
use Cwd;
use POSIX qw(EINVAL EROFS ENOENT EOPNOTSUPP S_IRUSR S_IRGRP S_IROTH S_IXUSR S_IXGRP S_IXOTH);
use Fuse;
use Cwd;
use POSIX qw(EINVAL EROFS ENOENT EOPNOTSUPP S_IRUSR S_IRGRP S_IROTH S_IXUSR S_IXGRP S_IXOTH);
-our ($TYPE_DIR, $TYPE_SYMLINK)=(0040, 0120);
+our ($TYPE_DIR, $TYPE_SYMLINK)=(0040, 0120);
+our $DEFAULT_MAXTAGDEPTH = 15;
sub new
{
my $proto=shift;
sub new
{
my $proto=shift;
@@
-19,6
+20,8
@@
sub new
$self->{source}=shift;
$self->{mountpoint}=Cwd::abs_path(shift);
$self->{verbose}=shift;
$self->{source}=shift;
$self->{mountpoint}=Cwd::abs_path(shift);
$self->{verbose}=shift;
+ $self->{tagdepth}=shift;
+ $self->{tagdepth}=$DEFAULT_MAXTAGDEPTH unless($self->{tagdepth});
$self->{perms} = S_IRUSR() | S_IXUSR() | S_IRGRP() | S_IXGRP() | S_IROTH() | S_IXOTH();
return $self;
$self->{perms} = S_IRUSR() | S_IXUSR() | S_IRGRP() | S_IXGRP() | S_IROTH() | S_IXOTH();
return $self;
@@
-65,7
+68,7
@@
sub getattr
{
my($self, $filename)=@_;
# print "**GETATTR: $filename\n";
{
my($self, $filename)=@_;
# print "**GETATTR: $filename\n";
- my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose});
+ my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose}
, $self->{tagdepth}
);
my $last_update=$self->{db}->last_update();
return(-ENOENT()) unless($path->isvalid());
my($dev,$ino,$nlink)=(0,0,1);
my $last_update=$self->{db}->last_update();
return(-ENOENT()) unless($path->isvalid());
my($dev,$ino,$nlink)=(0,0,1);
@@
-83,7
+86,7
@@
sub readlink
{
my($self,$filename)=@_;
# print "**READLINK: $filename\n";
{
my($self,$filename)=@_;
# print "**READLINK: $filename\n";
- my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose});
+ my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose}
, $self->{tagdepth}
);
return(-EINVAL()) unless($path->isfile());
return $path->dest($self->{mountpoint});
}
return(-EINVAL()) unless($path->isfile());
return $path->dest($self->{mountpoint});
}
@@
-92,7
+95,7
@@
sub getdir
{
my($self, $filename)=@_;
# print "**GETDIR: $filename\n";
{
my($self, $filename)=@_;
# print "**GETDIR: $filename\n";
- my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose});
+ my $path=ID3FS::Path->new($self->{db}, $filename, $self->{verbose}
, $self->{tagdepth}
);
return(-ENOENT()) unless($path->isvalid());
return(-ENOTDIR()) unless($path->isdir());
my @dents=();
return(-ENOENT()) unless($path->isvalid());
return(-ENOTDIR()) unless($path->isdir());
my @dents=();