my($self)=@_;
Fuse::main(
mountpoint => $self->{mountpoint},
- getattr => "ID3FS::Fuse::getattr",
- readlink => "ID3FS::Fuse::readlink",
- getdir => "ID3FS::Fuse::getdir",
- mknod => "ID3FS::Fuse::mknod",
- mkdir => "ID3FS::Fuse::mkdir",
- unlink => "ID3FS::Fuse::unlink",
- rmdir => "ID3FS::Fuse::rmdir",
- symlink => "ID3FS::Fuse::symlink",
- rename => "ID3FS::Fuse::rename",
- link => "ID3FS::Fuse::link",
- chmod => "ID3FS::Fuse::chmod",
- chown => "ID3FS::Fuse::chown",
- truncate => "ID3FS::Fuse::truncate",
- utime => "ID3FS::Fuse::utime",
- open => "ID3FS::Fuse::open",
- read => "ID3FS::Fuse::read",
- write => "ID3FS::Fuse::write",
- statfs => "ID3FS::Fuse::statfs",
- release => "ID3FS::Fuse::release",
- fsync => "ID3FS::Fuse::fsync",
- setxattr => "ID3FS::Fuse::setxattr",
- getxattr => "ID3FS::Fuse::getxattr",
- listxattr => "ID3FS::Fuse::listxattr",
- removexattr => "ID3FS::Fuse::removexattr",
threaded=>0,
debug => 1,
+ getattr => "ID3FS::Fuse::getattr",
+# readlink => "ID3FS::Fuse::readlink",
+ getdir => "ID3FS::Fuse::getdir",
+# mknod => "ID3FS::Fuse::mknod",
+# mkdir => "ID3FS::Fuse::mkdir",
+# unlink => "ID3FS::Fuse::unlink",
+# rmdir => "ID3FS::Fuse::rmdir",
+# symlink => "ID3FS::Fuse::symlink",
+# rename => "ID3FS::Fuse::rename",
+# link => "ID3FS::Fuse::link",
+# chmod => "ID3FS::Fuse::chmod",
+# chown => "ID3FS::Fuse::chown",
+# truncate => "ID3FS::Fuse::truncate",
+# utime => "ID3FS::Fuse::utime",
+# open => "ID3FS::Fuse::open",
+# read => "ID3FS::Fuse::read",
+# write => "ID3FS::Fuse::write",
+# statfs => "ID3FS::Fuse::statfs",
+# release => "ID3FS::Fuse::release",
+# fsync => "ID3FS::Fuse::fsync",
+# setxattr => "ID3FS::Fuse::setxattr",
+# getxattr => "ID3FS::Fuse::getxattr",
+# listxattr => "ID3FS::Fuse::listxattr",
+# removexattr => "ID3FS::Fuse::removexattr",
);
+}
+sub getattr
+{
+ my($filename)=@_;
+ print "GETATTR: $filename\n";
+ my($dev,$ino,$nlink)=(0,0,1);
+ my($uid,$gid)=(1000,1000);
+ my($rdev,$size)=(0,1);
+ my($atime,$mtime,$ctime)=(0,0,0);
+ my($blksize,$blocks)=(512,1);
+ my $mode=(0040 << 9) | 0755;
+ return($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks);
+}
+
+sub readlink { print "readlink\n"; return "FIXME"; }
+
+sub getdir
+{
+ my($filename)=@_;
+ print "GETDIR: $filename\n";
+ return('.',0);
}
-sub getattr { return -ENOENT(); }
-sub readlink { return "FIXME"; }
-sub getdir { return(0); }
-sub mknod { return -EINVAL(); }
-sub mkdir { return -EROFS(); }
-sub unlink { return -EINVAL(); }
-sub rmdir { return -EROFS(); }
-sub symlink { return -EROFS(); }
-sub rename { return -EROFS(); }
-sub link { return -EROFS(); }
-sub chmod { return -EINVAL(); }
-sub chown { return -EINVAL(); }
-sub truncate { return -EROFS(); }
-sub utime { return -EINVAL(); }
-sub open { return -EINVAL(); }
-sub read { return -EINVAL(); }
-sub write { return -EINVAL(); }
-sub statfs { return -EINVAL(); }
-sub release { return 0; }
-sub fsync { return 0; }
-sub setxattr { return -EOPNOTSUPP(); }
-sub getxattr { return -EOPNOTSUPP(); }
-sub listxattr { return -EOPNOTSUPP(); }
-sub removexattr { return -EOPNOTSUPP(); }
+sub mknod { print "mknod\n"; return -EINVAL(); }
+sub mkdir { print "mkdir\n"; return -EROFS(); }
+sub unlink { print "unlink\n"; return -EINVAL(); }
+sub rmdir { print "rmdir\n"; return -EROFS(); }
+sub symlink { print "symlink\n"; return -EROFS(); }
+sub rename { print "rename\n"; return -EROFS(); }
+sub link { print "link\n"; return -EROFS(); }
+sub chmod { print "chmod\n"; return -EINVAL(); }
+sub chown { print "chown\n"; return -EINVAL(); }
+sub truncate { print "truncate\n"; return -EROFS(); }
+sub utime { print "utime\n"; return -EINVAL(); }
+sub open { print "open\n"; return -EINVAL(); }
+sub read { print "read\n"; return -EINVAL(); }
+sub write { print "write\n"; return -EINVAL(); }
+sub statfs { print "statfs\n"; return -EINVAL(); }
+sub release { print "release\n"; return 0; }
+sub fsync { print "fsync\n"; return 0; }
+sub setxattr { print "setxattr\n"; return -EOPNOTSUPP(); }
+sub getxattr { print "getxattr\n"; return -EOPNOTSUPP(); }
+sub listxattr { print "listxattr\n"; return -EOPNOTSUPP(); }
+sub removexattr { print "removexattr\n"; return -EOPNOTSUPP(); }
1;