diff --git a/headers/os/drivers/fs_interface.h b/headers/os/drivers/fs_interface.h index d39574592c..cb6bb91c4c 100644 --- a/headers/os/drivers/fs_interface.h +++ b/headers/os/drivers/fs_interface.h @@ -184,7 +184,7 @@ struct fs_vnode_ops { /* directory operations */ status_t (*create_dir)(fs_volume *volume, fs_vnode *parent, - const char *name, int perms, ino_t *_newVnodeID); + const char *name, int perms); status_t (*remove_dir)(fs_volume *volume, fs_vnode *parent, const char *name); status_t (*open_dir)(fs_volume *volume, fs_vnode *vnode, diff --git a/headers/private/fs_shell/fssh_fs_interface.h b/headers/private/fs_shell/fssh_fs_interface.h index d4d406c9c8..5cbad95116 100644 --- a/headers/private/fs_shell/fssh_fs_interface.h +++ b/headers/private/fs_shell/fssh_fs_interface.h @@ -205,7 +205,7 @@ struct fssh_fs_vnode_ops { /* directory operations */ fssh_status_t (*create_dir)(fssh_fs_volume *volume, fssh_fs_vnode *parent, - const char *name, int perms, fssh_vnode_id *_newVnodeID); + const char *name, int perms); fssh_status_t (*remove_dir)(fssh_fs_volume *volume, fssh_fs_vnode *parent, const char *name); fssh_status_t (*open_dir)(fssh_fs_volume *volume, fssh_fs_vnode *vnode, diff --git a/headers/private/userlandfs/private/Requests.h b/headers/private/userlandfs/private/Requests.h index e474570a26..fdf15a5c27 100644 --- a/headers/private/userlandfs/private/Requests.h +++ b/headers/private/userlandfs/private/Requests.h @@ -954,8 +954,6 @@ public: class CreateDirReply : public ReplyRequest { public: CreateDirReply() : ReplyRequest(CREATE_DIR_REPLY) {} - - ino_t newDir; }; // RemoveDirRequest diff --git a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp index 8328db757c..0870944c42 100644 --- a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp @@ -1439,7 +1439,7 @@ bfs_read_link(fs_volume* _volume, fs_vnode* _node, char* buffer, static status_t bfs_create_dir(fs_volume* _volume, fs_vnode* _directory, const char* name, - int mode, ino_t* _newVnodeID) + int mode) { FUNCTION_START(("name = \"%s\", perms = %d\n", name, mode)); @@ -1464,7 +1464,6 @@ bfs_create_dir(fs_volume* _volume, fs_vnode* _directory, const char* name, status = Inode::Create(transaction, directory, name, S_DIRECTORY | (mode & S_IUMSK), 0, 0, NULL, &id); if (status == B_OK) { - *_newVnodeID = id; put_vnode(volume->FSVolume(), id); entry_cache_add(volume->ID(), directory->ID(), name, id); diff --git a/src/add-ons/kernel/file_systems/fat/file.c b/src/add-ons/kernel/file_systems/fat/file.c index 8f14df5f48..441a707f8c 100644 --- a/src/add-ons/kernel/file_systems/fat/file.c +++ b/src/add-ons/kernel/file_systems/fat/file.c @@ -925,8 +925,7 @@ bi: if (result != B_OK) free(cookie); status_t -dosfs_mkdir(fs_volume *_vol, fs_vnode *_dir, const char *name, int perms, - ino_t *_vnid) +dosfs_mkdir(fs_volume *_vol, fs_vnode *_dir, const char *name, int perms) { nspace *vol = (nspace *)_vol->private_volume; vnode *dir = (vnode *)_dir->private_node, dummy; diff --git a/src/add-ons/kernel/file_systems/fat/file.h b/src/add-ons/kernel/file_systems/fat/file.h index 19fd6b0e39..94dc1a0753 100644 --- a/src/add-ons/kernel/file_systems/fat/file.h +++ b/src/add-ons/kernel/file_systems/fat/file.h @@ -24,7 +24,7 @@ status_t dosfs_remove_vnode(fs_volume *vol, fs_vnode *node, bool reenter); status_t dosfs_create(fs_volume *vol, fs_vnode *dir, const char *name, int omode, int perms, void **cookie, ino_t *vnid); status_t dosfs_mkdir(fs_volume *vol, fs_vnode *dir, const char *name, - int perms, ino_t *_vnid); + int perms); status_t dosfs_rename(fs_volume *vol, fs_vnode *olddir, const char *oldname, fs_vnode *newdir, const char *newname); status_t dosfs_unlink(fs_volume *vol, fs_vnode *dir, const char *name); diff --git a/src/add-ons/kernel/file_systems/layers/attribute_overlay/attribute_overlay.cpp b/src/add-ons/kernel/file_systems/layers/attribute_overlay/attribute_overlay.cpp index b1a12b6339..4f524021b7 100644 --- a/src/add-ons/kernel/file_systems/layers/attribute_overlay/attribute_overlay.cpp +++ b/src/add-ons/kernel/file_systems/layers/attribute_overlay/attribute_overlay.cpp @@ -527,8 +527,16 @@ AttributeFile::WriteAttributeFile(fs_volume *overlay, fs_volume *volume, // create the attribute directory result = currentVnode.ops->create_dir(volume, ¤tVnode, - ATTRIBUTE_OVERLAY_ATTRIBUTE_DIR_NAME, S_IRWXU | S_IRWXG | S_IRWXO, - &fAttributeDirInode); + ATTRIBUTE_OVERLAY_ATTRIBUTE_DIR_NAME, S_IRWXU | S_IRWXG | S_IRWXO); + + if (result == B_OK) { + result = currentVnode.ops->lookup(volume, ¤tVnode, + ATTRIBUTE_OVERLAY_ATTRIBUTE_DIR_NAME, &fAttributeDirInode); + + // lookup() got us a reference we don't need -- put it + if (result == B_OK) + put_vnode(volume, fAttributeDirInode); + } put_vnode(volume, fDirectoryInode); @@ -1290,9 +1298,9 @@ overlay_write(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos, static status_t overlay_create_dir(fs_volume *volume, fs_vnode *vnode, const char *name, - int perms, ino_t *newVnodeID) + int perms) { - OVERLAY_CALL(create_dir, name, perms, newVnodeID) + OVERLAY_CALL(create_dir, name, perms) return B_UNSUPPORTED; } diff --git a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp index dae23864ae..d4587dd802 100644 --- a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp +++ b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp @@ -118,8 +118,7 @@ public: status_t Write(void *cookie, off_t position, const void *buffer, size_t *length); - status_t CreateDir(const char *name, - int perms, ino_t *newInodeNumber); + status_t CreateDir(const char *name, int perms); status_t RemoveDir(const char *name); status_t OpenDir(void **cookie); status_t CloseDir(void *cookie); @@ -565,9 +564,9 @@ OverlayInode::Write(void *_cookie, off_t position, const void *buffer, status_t -OverlayInode::CreateDir(const char *name, int perms, ino_t *newInodeNumber) +OverlayInode::CreateDir(const char *name, int perms) { - return _CreateCommon(name, S_IFDIR, perms, newInodeNumber, NULL); + return _CreateCommon(name, S_IFDIR, perms, NULL, NULL); } @@ -1247,11 +1246,10 @@ overlay_write(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos, static status_t overlay_create_dir(fs_volume *volume, fs_vnode *vnode, const char *name, - int perms, ino_t *newVnodeID) + int perms) { TRACE("create_dir: \"%s\"\n", name); - return ((OverlayInode *)vnode->private_node)->CreateDir(name, perms, - newVnodeID); + return ((OverlayInode *)vnode->private_node)->CreateDir(name, perms); } diff --git a/src/add-ons/kernel/file_systems/nfs/nfs_add_on.c b/src/add-ons/kernel/file_systems/nfs/nfs_add_on.c index a327c8de39..8802a3f651 100644 --- a/src/add-ons/kernel/file_systems/nfs/nfs_add_on.c +++ b/src/add-ons/kernel/file_systems/nfs/nfs_add_on.c @@ -1979,7 +1979,7 @@ fs_remove_vnode(fs_volume *_volume, fs_vnode *_node, bool r) } static status_t -fs_mkdir(fs_volume *_volume, fs_vnode *_dir, const char *name, int perms, ino_t *_newVnodeID) +fs_mkdir(fs_volume *_volume, fs_vnode *_dir, const char *name, int perms) { fs_nspace *ns; fs_node *dir; @@ -2066,8 +2066,6 @@ fs_mkdir(fs_volume *_volume, fs_vnode *_dir, const char *name, int perms, ino_t newNode->fhandle=fhandle; newNode->vnid=st.st_ino; - *_newVnodeID = newNode->vnid; - insert_node (ns,newNode); XDRInPacketDestroy (&reply); diff --git a/src/add-ons/kernel/file_systems/ntfs/fs_func.c b/src/add-ons/kernel/file_systems/ntfs/fs_func.c index 130d3e6025..fdd2411901 100644 --- a/src/add-ons/kernel/file_systems/ntfs/fs_func.c +++ b/src/add-ons/kernel/file_systems/ntfs/fs_func.c @@ -410,7 +410,7 @@ fs_read_vnode(fs_volume *_vol, ino_t vnid, fs_vnode *_node, int *_type, uint32 * _node->private_node = NULL; _node->ops = &gNTFSVnodeOps; - _flags = 0; + _flags = 0; newNode = (vnode*)ntfs_calloc( sizeof(vnode) ); if ( newNode != NULL ) { @@ -1285,7 +1285,7 @@ exit: status_t -fs_mkdir(fs_volume *_vol, fs_vnode *_dir, const char *name, int perms, ino_t *_vnid) +fs_mkdir(fs_volume *_vol, fs_vnode *_dir, const char *name, int perms) { nspace *ns = (nspace*)_vol->private_volume; vnode *dir = (vnode*)_dir->private_node; @@ -1345,8 +1345,6 @@ fs_mkdir(fs_volume *_vol, fs_vnode *_dir, const char *name, int perms, ino_t *_v result = publish_vnode(_vol, vnid, (void*)newNode,&gNTFSVnodeOps, 0777, 0); - *_vnid = vnid; - put_vnode(_vol, MREF(ni->mft_no)); ntfs_mark_free_space_outdated(ns); diff --git a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp index 67cea12bd8..a82bf8e76a 100644 --- a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp @@ -1075,8 +1075,7 @@ vint32 DirectoryCookie::fNextIteratorID = 0; // ramfs_create_dir static status_t -ramfs_create_dir(fs_volume fs, fs_vnode _dir, const char *name, - int mode, ino_t *_vnid) +ramfs_create_dir(fs_volume fs, fs_vnode _dir, const char *name, int mode) { FUNCTION(("name: `%s', mode: %x\n", name, mode)); Volume *volume = (Volume*)fs; @@ -1115,7 +1114,6 @@ ramfs_create_dir(fs_volume fs, fs_vnode _dir, const char *name, node->SetGID(getegid()); // put the node volume->PutVNode(node->GetID()); - *_vnid = node->GetID(); } } } diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp index e82c49417c..ff4327aba2 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp @@ -2182,7 +2182,7 @@ Volume::Write(void* _node, void* cookie, off_t pos, const void* buffer, // CreateDir status_t -Volume::CreateDir(void* _dir, const char* name, int mode, ino_t *newDir) +Volume::CreateDir(void* _dir, const char* name, int mode) { VNode* vnode = (VNode*)_dir; @@ -2221,7 +2221,6 @@ Volume::CreateDir(void* _dir, const char* name, int mode, ino_t *newDir) // process the reply if (reply->error != B_OK) return reply->error; - *newDir = reply->newDir; return error; } diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.h b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.h index 8059d267e0..751e0b45dc 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.h @@ -147,7 +147,7 @@ public: // directories status_t CreateDir(void* dir, const char* name, - int mode, ino_t *newDir); + int mode); status_t RemoveDir(void* dir, const char* name); status_t OpenDir(void* node, void** cookie); status_t CloseDir(void* node, void* cookie); diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/kernel_interface.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/kernel_interface.cpp index 46b72a1043..c6503b3f99 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/kernel_interface.cpp @@ -545,14 +545,13 @@ userlandfs_write(fs_volume* fsVolume, fs_vnode* fsNode, void* cookie, off_t pos, // userlandfs_create_dir static status_t userlandfs_create_dir(fs_volume* fsVolume, fs_vnode* fsParent, const char* name, - int perms, ino_t* newDir) + int perms) { Volume* volume = (Volume*)fsVolume->private_volume; - PRINT(("userlandfs_create_dir(%p, %p, `%s', %d, %p)\n", volume, - fsParent->private_node, name, perms, newDir)); - status_t error = volume->CreateDir(fsParent->private_node, name, perms, - newDir); - PRINT(("userlandfs_create_dir() done: (%lx, %lld)\n", error, *newDir)); + PRINT(("userlandfs_create_dir(%p, %p, `%s', %#x)\n", volume, + fsParent->private_node, name, perms)); + status_t error = volume->CreateDir(fsParent->private_node, name, perms); + PRINT(("userlandfs_create_dir() done: (%lx)\n", error)); return error; } diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.cpp index 2d6cddb39b..f5c92e4456 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.cpp @@ -1,4 +1,7 @@ -// UserlandRequestHandler.cpp +/* + * Copyright 2001-2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ #include "UserlandRequestHandler.h" @@ -1314,11 +1317,10 @@ UserlandRequestHandler::_HandleRequest(CreateDirRequest* request) if (!volume) result = B_BAD_VALUE; - ino_t newDir = 0; if (result == B_OK) { RequestThreadContext context(volume); result = volume->CreateDir(request->node, - (const char*)request->name.GetData(), request->mode, &newDir); + (const char*)request->name.GetData(), request->mode); } // prepare the reply @@ -1329,7 +1331,6 @@ UserlandRequestHandler::_HandleRequest(CreateDirRequest* request) RETURN_ERROR(error); reply->error = result; - reply->newDir = newDir; // send the reply return _SendReply(allocator, false); diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.h b/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.h index d6847d0c4f..a2fc3b884b 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/UserlandRequestHandler.h @@ -1,5 +1,7 @@ -// UserlandRequestHandler.h - +/* + * Copyright 2001-2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ #ifndef USERLAND_FS_USERLAND_REQUEST_HANDLER_H #define USERLAND_FS_USERLAND_REQUEST_HANDLER_H diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/Volume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/Volume.cpp index e393e38d0b..5c8f00c07f 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/Volume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/Volume.cpp @@ -378,7 +378,7 @@ Volume::Write(void* node, void* cookie, off_t pos, const void* buffer, // CreateDir status_t -Volume::CreateDir(void* dir, const char* name, int mode, ino_t *newDir) +Volume::CreateDir(void* dir, const char* name, int mode) { return B_BAD_VALUE; } diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/Volume.h b/src/add-ons/kernel/file_systems/userlandfs/server/Volume.h index c921bed631..3f97b4002c 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/Volume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/Volume.h @@ -114,7 +114,7 @@ public: // directories virtual status_t CreateDir(void* dir, const char* name, - int mode, ino_t *newDir); + int mode); virtual status_t RemoveDir(void* dir, const char* name); virtual status_t OpenDir(void* node, void** cookie); virtual status_t CloseDir(void* node, void* cookie); diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.cpp index 65d5790e1c..ca5d298807 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.cpp @@ -431,27 +431,12 @@ BeOSKernelVolume::Write(void* node, void* cookie, off_t pos, // CreateDir status_t -BeOSKernelVolume::CreateDir(void* dir, const char* name, int mode, - ino_t *newDir) +BeOSKernelVolume::CreateDir(void* dir, const char* name, int mode) { - if (!fFSOps->mkdir || !fFSOps->walk) // we need walk() too + if (!fFSOps->mkdir) return B_BAD_VALUE; - status_t error = fFSOps->mkdir(fVolumeCookie, dir, name, mode); - if (error != B_OK) - return error; - - // we need to get the node ID by invoking walk() - ino_t id; - error = fFSOps->walk(fVolumeCookie, dir, name, NULL, &id); - if (error != B_OK) - return error; - - // put the node for walk()'s get_vnode() - UserlandFS::KernelEmu::put_vnode(GetID(), id); - - *newDir = id; - return B_OK; + return fFSOps->mkdir(fVolumeCookie, dir, name, mode); } // RemoveDir diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.h b/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.h index caf9b7ed58..5e428cff7c 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelVolume.h @@ -88,7 +88,7 @@ public: // directories virtual status_t CreateDir(void* dir, const char* name, - int mode, ino_t *newDir); + int mode); virtual status_t RemoveDir(void* dir, const char* name); virtual status_t OpenDir(void* node, void** cookie); virtual status_t CloseDir(void* node, void* cookie); diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp index 74b2dfaadd..ac759040ba 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.cpp @@ -1155,7 +1155,7 @@ FUSEVolume::Write(void* _node, void* _cookie, off_t pos, const void* buffer, status_t -FUSEVolume::CreateDir(void* _dir, const char* name, int mode, ino_t *newDir) +FUSEVolume::CreateDir(void* _dir, const char* name, int mode) { FUSENode* dir = (FUSENode*)_dir; PRINT(("FUSEVolume::CreateDir(%p (%lld), \"%s\", %#x)\n", dir, dir->id, name, @@ -1184,9 +1184,6 @@ mode)); // TODO: Node monitoring! - *newDir = 0; - // TODO: This is really superfluous! - return B_OK; } diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h index 38709aa8ae..83728c27d9 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/fuse/FUSEVolume.h @@ -103,7 +103,7 @@ public: // directories virtual status_t CreateDir(void* dir, const char* name, - int mode, ino_t *newDir); + int mode); virtual status_t RemoveDir(void* dir, const char* name); virtual status_t OpenDir(void* node, void** cookie); virtual status_t CloseDir(void* node, void* cookie); diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.cpp b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.cpp index 418fb892da..e37e47279b 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.cpp @@ -738,14 +738,13 @@ HaikuKernelVolume::Write(void* _node, void* cookie, off_t pos, // CreateDir status_t -HaikuKernelVolume::CreateDir(void* _dir, const char* name, int mode, - ino_t *newDir) +HaikuKernelVolume::CreateDir(void* _dir, const char* name, int mode) { HaikuKernelNode* dir = (HaikuKernelNode*)_dir; if (!dir->ops->create_dir) return B_BAD_VALUE; - return dir->ops->create_dir(&fVolume, dir, name, mode, newDir); + return dir->ops->create_dir(&fVolume, dir, name, mode); } // RemoveDir diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.h b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.h index 01c3bcd51e..5f8aa66902 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.h +++ b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelVolume.h @@ -121,7 +121,7 @@ public: // directories virtual status_t CreateDir(void* dir, const char* name, - int mode, ino_t *newDir); + int mode); virtual status_t RemoveDir(void* dir, const char* name); virtual status_t OpenDir(void* node, void** cookie); virtual status_t CloseDir(void* node, void* cookie); diff --git a/src/system/kernel/device_manager/devfs.cpp b/src/system/kernel/device_manager/devfs.cpp index 54cdd0efb9..8190eb2402 100644 --- a/src/system/kernel/device_manager/devfs.cpp +++ b/src/system/kernel/device_manager/devfs.cpp @@ -1271,7 +1271,7 @@ devfs_write(fs_volume* _volume, fs_vnode* _vnode, void* _cookie, off_t pos, static status_t devfs_create_dir(fs_volume *_volume, fs_vnode *_dir, const char *name, - int perms, ino_t *_newVnodeID) + int perms) { struct devfs *fs = (struct devfs *)_volume->private_volume; struct devfs_vnode *dir = (struct devfs_vnode *)_dir->private_node; @@ -1294,7 +1294,6 @@ devfs_create_dir(fs_volume *_volume, fs_vnode *_dir, const char *name, hash_insert(sDeviceFileSystem->vnode_hash, vnode); devfs_insert_in_dir(dir, vnode); - *_newVnodeID = vnode->id; return B_OK; } diff --git a/src/system/kernel/fs/rootfs.cpp b/src/system/kernel/fs/rootfs.cpp index 0c99d895f8..67103ae8cb 100644 --- a/src/system/kernel/fs/rootfs.cpp +++ b/src/system/kernel/fs/rootfs.cpp @@ -607,15 +607,15 @@ rootfs_write(fs_volume *_volume, fs_vnode *vnode, void *cookie, static status_t rootfs_create_dir(fs_volume *_volume, fs_vnode *_dir, const char *name, - int mode, ino_t *_newID) + int mode) { struct rootfs *fs = (rootfs*)_volume->private_volume; struct rootfs_vnode *dir = (rootfs_vnode*)_dir->private_node; struct rootfs_vnode *vnode; status_t status = 0; - TRACE(("rootfs_create_dir: dir %p, name = '%s', perms = %d, id = 0x%Lx pointer id = %p\n", - dir, name, mode,*_newID, _newID)); + TRACE(("rootfs_create_dir: dir %p, name = '%s', perms = %d\n", dir, name, + mode)); mutex_lock(&fs->lock); diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 4788844da3..a88500aa6a 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -5394,7 +5394,6 @@ dir_create_entry_ref(dev_t mountID, ino_t parentID, const char* name, int perms, bool kernel) { struct vnode* vnode; - ino_t newID; status_t status; if (name == NULL || *name == '\0') @@ -5408,7 +5407,7 @@ dir_create_entry_ref(dev_t mountID, ino_t parentID, const char* name, int perms, return status; if (HAS_FS_CALL(vnode, create_dir)) - status = FS_CALL(vnode, create_dir, name, perms, &newID); + status = FS_CALL(vnode, create_dir, name, perms); else status = EROFS; @@ -5422,7 +5421,6 @@ dir_create(int fd, char* path, int perms, bool kernel) { char filename[B_FILE_NAME_LENGTH]; struct vnode* vnode; - ino_t newID; status_t status; FUNCTION(("dir_create: path '%s', perms %d, kernel %d\n", path, perms, kernel)); @@ -5432,7 +5430,7 @@ dir_create(int fd, char* path, int perms, bool kernel) return status; if (HAS_FS_CALL(vnode, create_dir)) { - status = FS_CALL(vnode, create_dir, filename, perms, &newID); + status = FS_CALL(vnode, create_dir, filename, perms); } else status = EROFS; diff --git a/src/tools/fs_shell/vfs.cpp b/src/tools/fs_shell/vfs.cpp index 0072b540d2..e507622a86 100644 --- a/src/tools/fs_shell/vfs.cpp +++ b/src/tools/fs_shell/vfs.cpp @@ -3221,7 +3221,6 @@ static fssh_status_t dir_create_entry_ref(fssh_mount_id mountID, fssh_vnode_id parentID, const char *name, int perms, bool kernel) { struct vnode *vnode; - fssh_vnode_id newID; fssh_status_t status; if (name == NULL || *name == '\0') @@ -3234,7 +3233,7 @@ dir_create_entry_ref(fssh_mount_id mountID, fssh_vnode_id parentID, const char * return status; if (HAS_FS_CALL(vnode, create_dir)) - status = FS_CALL(vnode, create_dir, name, perms, &newID); + status = FS_CALL(vnode, create_dir, name, perms); else status = FSSH_EROFS; @@ -3248,7 +3247,6 @@ dir_create(int fd, char *path, int perms, bool kernel) { char filename[FSSH_B_FILE_NAME_LENGTH]; struct vnode *vnode; - fssh_vnode_id newID; fssh_status_t status; FUNCTION(("dir_create: path '%s', perms %d, kernel %d\n", path, perms, kernel)); @@ -3258,7 +3256,7 @@ dir_create(int fd, char *path, int perms, bool kernel) return status; if (HAS_FS_CALL(vnode, create_dir)) - status = FS_CALL(vnode, create_dir, filename, perms, &newID); + status = FS_CALL(vnode, create_dir, filename, perms); else status = FSSH_EROFS;