* More debug output in the kernel module.

* Made publish_vnode() available in userland. For old style FS add-ons
  publish_vnode() is used when they request a new_vnode(). The semantics
  of new_vnode() changed considerably in Haiku, but publish_vnode()
  seems to do pretty much what the old new_vnode() did.
* The UserlandFS hosted RamFS begins to work under Haiku. It runs pretty
  soon out of memory though (under vmware with 256 MB) and node
  monitoring is broken ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20264 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-03-01 04:56:08 +00:00
parent 32164a180c
commit 042eb16896
10 changed files with 213 additions and 12 deletions
@@ -185,6 +185,8 @@ enum {
PUT_VNODE_REPLY,
NEW_VNODE_REQUEST,
NEW_VNODE_REPLY,
PUBLISH_VNODE_REQUEST,
PUBLISH_VNODE_REPLY,
REMOVE_VNODE_REQUEST,
REMOVE_VNODE_REPLY,
UNREMOVE_VNODE_REQUEST,
@@ -1425,6 +1427,22 @@ public:
NewVNodeReply() : ReplyRequest(NEW_VNODE_REPLY) {}
};
// PublishVNodeRequest
class PublishVNodeRequest : public Request {
public:
PublishVNodeRequest() : Request(PUBLISH_VNODE_REQUEST) {}
mount_id nsid;
vnode_id vnid;
fs_vnode node;
};
// PublishVNodeReply
class PublishVNodeReply : public ReplyRequest {
public:
PublishVNodeReply() : ReplyRequest(PUBLISH_VNODE_REPLY) {}
};
// RemoveVNodeRequest
class RemoveVNodeRequest : public Request {
public:
@@ -1788,6 +1806,10 @@ do_for_request(Request* request, Task& task)
return task((NewVNodeRequest*)request);
case NEW_VNODE_REPLY:
return task((NewVNodeReply*)request);
case PUBLISH_VNODE_REQUEST:
return task((PublishVNodeRequest*)request);
case PUBLISH_VNODE_REPLY:
return task((PublishVNodeReply*)request);
case REMOVE_VNODE_REQUEST:
return task((RemoveVNodeRequest*)request);
case REMOVE_VNODE_REPLY:
@@ -1979,6 +2001,8 @@ using UserlandFSUtil::PutVNodeRequest;
using UserlandFSUtil::PutVNodeReply;
using UserlandFSUtil::NewVNodeRequest;
using UserlandFSUtil::NewVNodeReply;
using UserlandFSUtil::PublishVNodeRequest;
using UserlandFSUtil::PublishVNodeReply;
using UserlandFSUtil::RemoveVNodeRequest;
using UserlandFSUtil::RemoveVNodeReply;
using UserlandFSUtil::UnremoveVNodeRequest;