devfs now accepts to create directories

is scanning needed here ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20982 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval 2007-05-02 19:04:06 +00:00
parent d87dc169fb
commit c0ca505fb0

View File

@ -1422,7 +1422,29 @@ static status_t
devfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name, devfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name,
int perms, vnode_id *_newVnodeID) int perms, vnode_id *_newVnodeID)
{ {
return EROFS; struct devfs *fs = (struct devfs *)_fs;
struct devfs_vnode *dir = (struct devfs_vnode *)_dir;
struct devfs_vnode *vnode = devfs_find_in_dir(dir, name);
if (vnode != NULL) {
return EEXIST;
}
vnode = devfs_create_vnode(fs, dir, name);
if (vnode == NULL) {
return B_NO_MEMORY;
}
// set up the new directory
vnode->stream.type = S_IFDIR | perms;
vnode->stream.u.dir.dir_head = NULL;
list_init(&vnode->stream.u.dir.cookies);
hash_insert(sDeviceFileSystem->vnode_hash, vnode);
devfs_insert_in_dir(dir, vnode);
*_newVnodeID = vnode->id;
return B_OK;
} }