* For every request to userland we also send the team/thread/user/group ID of

the current thread, now. Implemented by introducing a new base class
  KernelRequest which has respective attributes.
* Server: RequestThreadContext does now also save the request that is being
  processed. Furthermore some space has been reserved for file system specific
  data, which can be initialized by the new
  FileSystem::InitRequestThreadContext().
* FUSE library: Implemented fuse_get_context() using the new
  RequestThreadContext feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29872 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-04-02 19:41:53 +00:00
parent a773113804
commit e66cd9d71b
11 changed files with 193 additions and 87 deletions
+17 -5
View File
@@ -256,10 +256,21 @@ public:
// #pragma mark - kernel requests
// VolumeRequest
class VolumeRequest : public Request {
// KernelRequest
class KernelRequest : public Request {
public:
VolumeRequest(uint32 type) : Request(type) {}
KernelRequest(uint32 type) : Request(type) {}
team_id team;
thread_id thread;
uid_t user;
gid_t group;
};
// VolumeRequest
class VolumeRequest : public KernelRequest {
public:
VolumeRequest(uint32 type) : KernelRequest(type) {}
void* volume;
};
@@ -365,9 +376,9 @@ public:
// MountVolumeRequest
class MountVolumeRequest : public Request {
class MountVolumeRequest : public KernelRequest {
public:
MountVolumeRequest() : Request(MOUNT_VOLUME_REQUEST) {}
MountVolumeRequest() : KernelRequest(MOUNT_VOLUME_REQUEST) {}
status_t GetAddressInfos(AddressInfo* infos, int32* count);
dev_t nsid;
@@ -2235,6 +2246,7 @@ status_t relocate_request(Request* request, int32 requestBufferSize,
} // namespace UserlandFSUtil
using UserlandFSUtil::ReplyRequest;
using UserlandFSUtil::KernelRequest;
using UserlandFSUtil::VolumeRequest;
using UserlandFSUtil::NodeRequest;
using UserlandFSUtil::FileRequest;