summaryrefslogtreecommitdiff
path: root/netfs/fuseDirs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/fuseDirs.cpp')
-rw-r--r--netfs/fuseDirs.cpp97
1 files changed, 0 insertions, 97 deletions
diff --git a/netfs/fuseDirs.cpp b/netfs/fuseDirs.cpp
deleted file mode 100644
index 28b8363..0000000
--- a/netfs/fuseDirs.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#include "pchFuse.hpp"
-#include "fuse.h"
-#include "misc.h"
-
-NetFS::OpenDir::OpenDir(Ice::Int rid, const std::string & p) :
- remoteID(rid),
- path(p)
-{
-}
-
-int
-NetFS::getNextDirID()
-{
- LOCK;
- while (openDirs.find(++openDirID) != openDirs.end()) ;
- return openDirID;
-}
-
-Ice::Int
-NetFS::getRemoteIDforDir(int localID) const
-{
- LOCK;
- OpenDirs::const_iterator i = openDirs.find(localID);
- if (i != openDirs.end()) {
- return i->second->remoteID;
- }
- throw NetFSComms::SystemError(EBADF);
-}
-
-int
-NetFS::opendir(const char * p, struct fuse_file_info * fi)
-{
- try {
- Ice::Int remoteID = filesystem->opendir(reqEnv(), p);
- fi->fh = getNextDirID();
- LOCK;
- openDirs[fi->fh] = new OpenDir(remoteID, p);
- return 0;
- }
- catch (NetFSComms::SystemError & e) {
- return -e.syserrno;
- }
-}
-
-int
-NetFS::releasedir(const char *, struct fuse_file_info * fi)
-{
- try {
- filesystem->closedir(authtok, getRemoteIDforDir(fi->fh));
- LOCK;
- openDirs.erase(fi->fh);
- return 0;
- }
- catch (NetFSComms::SystemError & e) {
- return -e.syserrno;
- }
-}
-
-int
-NetFS::readdir(const char *, void * buf, fuse_fill_dir_t filler, off_t, struct fuse_file_info * fi)
-{
- try {
- NetFSComms::NameList ds = filesystem->readdir(authtok, getRemoteIDforDir(fi->fh));
- for (NetFSComms::NameList::const_iterator e = ds.begin(); e != ds.end(); e++) {
- filler(buf, e->c_str(), NULL, 0);
- }
- return 0;
- }
- catch (NetFSComms::SystemError & e) {
- return -e.syserrno;
- }
-}
-
-int
-NetFS::mkdir(const char * p, mode_t m)
-{
- try {
- filesystem->mkdir(reqEnv(), p, m);
- return 0;
- }
- catch (NetFSComms::SystemError & e) {
- return -e.syserrno;
- }
-}
-
-int
-NetFS::rmdir(const char * p)
-{
- try {
- filesystem->rmdir(reqEnv(), p);
- return 0;
- }
- catch (NetFSComms::SystemError & e) {
- return -e.syserrno;
- }
-}
-