summaryrefslogtreecommitdiff
path: root/netfs/daemon/daemonVolume.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/daemon/daemonVolume.cpp')
-rw-r--r--netfs/daemon/daemonVolume.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/netfs/daemon/daemonVolume.cpp b/netfs/daemon/daemonVolume.cpp
index c87b1b0..e21bdd0 100644
--- a/netfs/daemon/daemonVolume.cpp
+++ b/netfs/daemon/daemonVolume.cpp
@@ -73,6 +73,18 @@ VolumeServer::getattr(const NetFS::ReqEnv & re, const std::string & path, const
}
void
+VolumeServer::mknod(const NetFS::ReqEnv & re, const std::string & path, Ice::Int mode, Ice::Int dev, const Ice::Current&)
+{
+ TempPrivs tp(re, root);
+ errno = 0;
+ boost::filesystem::path p(resolvePath(path));
+ tp.AssertWrite(p.parent_path());
+ if (::mknod(p.string().c_str(), mode, dev) != 0) {
+ throw NetFS::SystemError(errno);
+ }
+}
+
+void
VolumeServer::symlink(const NetFS::ReqEnv & re, const std::string & path1, const std::string & path2, const Ice::Current &)
{
TempPrivs tp(re, root);