Lines Matching refs:_volume

49 static status_t fs_access(fs_volume* _volume, fs_vnode* _node, int accessMode);
154 fs_mount(fs_volume* _volume, const char* device, uint32 flags,
197 status_t status = vfs_get_mount_point(_volume->id, &deviceID, &nodeID);
218 volume->lowntfs.haiku_fs_volume = _volume;
238 status = publish_vnode(_volume, root->inode, root, &gNtfsVnodeOps, S_IFDIR, 0);
246 _volume->private_volume = volume;
247 _volume->ops = &gNtfsVolumeOps;
253 fs_unmount(fs_volume* _volume)
256 volume* volume = (struct volume*)_volume->private_volume;
262 _volume->private_volume = NULL;
269 fs_read_fs_info(fs_volume* _volume, struct fs_info* info)
272 volume* volume = (struct volume*)_volume->private_volume;
290 fs_write_fs_info(fs_volume* _volume, const struct fs_info* info, uint32 mask)
293 volume* volume = (struct volume*)_volume->private_volume;
320 fs_init_vnode(fs_volume* _volume, ino_t parent, ino_t nid, vnode** _vnode, bool publish = false)
322 volume* volume = (struct volume*)_volume->private_volume;
353 status_t status = publish_vnode(_volume, node->inode, node, &gNtfsVnodeOps, node->mode, 0);
359 node->file_cache = file_cache_create(_volume->id, nid, node->size);
371 fs_get_vnode(fs_volume* _volume, ino_t nid, fs_vnode* _node, int* _type,
375 volume* volume = (struct volume*)_volume->private_volume;
379 status_t status = fs_init_vnode(_volume, -1 /* set by fs_lookup */, nid, &vnode);
393 fs_put_vnode(fs_volume* _volume, fs_vnode* _node, bool reenter)
396 volume* volume = (struct volume*)_volume->private_volume;
407 fs_remove_vnode(fs_volume* _volume, fs_vnode* _node, bool reenter)
410 volume* volume = (struct volume*)_volume->private_volume;
447 fs_volume* _volume = (fs_volume*)ctx->haiku_fs_volume;
448 entry_cache_remove(_volume->id, node->parent_inode, node->name);
449 notify_entry_removed(_volume->id, node->parent_inode, node->name, node->inode);
450 remove_vnode(_volume, node->inode);
459 fs_can_page(fs_volume* _volume, fs_vnode* _node, void* _cookie)
466 fs_read_pages(fs_volume* _volume, fs_vnode* _node, void* _cookie,
469 volume* volume = (struct volume*)_volume->private_volume;
506 fs_write_pages(fs_volume* _volume, fs_vnode* _node, void* _cookie,
509 volume* volume = (struct volume*)_volume->private_volume;
549 fs_lookup(fs_volume* _volume, fs_vnode* _directory, const char* name,
553 volume* volume = (struct volume*)_volume->private_volume;
571 result = entry_cache_add(_volume->id, directory->inode, name, *_vnodeID);
576 result = get_vnode(_volume, *_vnodeID, (void**)&node);
589 fs_get_vnode_name(fs_volume* _volume, fs_vnode* _node, char* buffer, size_t bufferSize)
601 fs_ioctl(fs_volume* _volume, fs_vnode* _node, void* _cookie, uint32 cmd,
610 fs_read_stat(fs_volume* _volume, fs_vnode* _node, struct stat* stat)
613 volume* volume = (struct volume*)_volume->private_volume;
629 fs_write_stat(fs_volume* _volume, fs_vnode* _node, const struct stat* stat, uint32 mask)
632 volume* volume = (struct volume*)_volume->private_volume;
648 const bool hasWriteAccess = fs_access(_volume, _node, W_OK);
733 notify_stat_changed(_volume->id, node->parent_inode, node->inode, mask);
739 fs_generic_create(fs_volume* _volume, vnode* directory, const char* name, int mode,
742 volume* volume = (struct volume*)_volume->private_volume;
754 status_t status = fs_init_vnode(_volume, directory->inode, inode, &node, true);
758 entry_cache_add(_volume->id, directory->inode, name, inode);
759 notify_entry_created(_volume->id, directory->inode, name, inode);
766 fs_create(fs_volume* _volume, fs_vnode* _directory, const char* name,
770 volume* volume = (struct volume*)_volume->private_volume;
777 status_t status = fs_access(_volume, _directory, W_OK);
786 status = fs_generic_create(_volume, directory, name, S_IFREG | (mode & 07777), _vnodeID);
804 fs_open(fs_volume* _volume, fs_vnode* _node, int openMode, void** _cookie)
807 volume* volume = (struct volume*)_volume->private_volume;
817 status_t status = fs_access(_volume, _node, open_mode_to_access(openMode));
868 fs_read(fs_volume* _volume, fs_vnode* _node, void* _cookie, off_t pos,
884 fs_write(fs_volume* _volume, fs_vnode* _node, void* _cookie, off_t pos,
888 volume* volume = (struct volume*)_volume->private_volume;
932 notify_stat_changed(_volume->id, node->parent_inode, node->inode,
942 fs_fsync(fs_volume* _volume, fs_vnode* _node)
952 fs_close(fs_volume *_volume, fs_vnode *_node, void *_cookie)
962 fs_free_cookie(fs_volume* _volume, fs_vnode* _node, void* _cookie)
971 fs_generic_unlink(fs_volume* _volume, fs_vnode* _directory, const char* name, RM_TYPES type)
973 volume* volume = (struct volume*)_volume->private_volume;
977 status_t status = fs_access(_volume, _directory, W_OK);
990 fs_unlink(fs_volume* _volume, fs_vnode* _directory, const char* name)
993 return fs_generic_unlink(_volume, _directory, name, RM_LINK);
998 fs_rename(fs_volume* _volume, fs_vnode* _oldDir, const char* oldName,
1002 volume* volume = (struct volume*)_volume->private_volume;
1011 status_t status = fs_access(_volume, _oldDir, W_OK);
1013 status = fs_access(_volume, _newDir, W_OK);
1033 if (get_vnode(_volume, parent, (void**)&parentNode) != B_OK)
1037 put_vnode(_volume, parentNode->inode);
1050 status = get_vnode(_volume, ino, (void**)&node);
1059 entry_cache_add(_volume->id, ino, "..", new_directory->inode);
1061 put_vnode(_volume, ino);
1063 entry_cache_remove(_volume->id, old_directory->inode, oldName);
1064 entry_cache_add(_volume->id, new_directory->inode, newName, ino);
1065 notify_entry_moved(_volume->id, old_directory->inode, oldName,
1073 fs_access(fs_volume* _volume, fs_vnode* _node, int accessMode)
1076 volume* volume = (struct volume*)_volume->private_volume;
1087 fs_read_link(fs_volume* _volume, fs_vnode* _node, char* buffer, size_t* bufferSize)
1090 volume* volume = (struct volume*)_volume->private_volume;
1104 fs_create_dir(fs_volume* _volume, fs_vnode* _directory, const char* name, int mode)
1107 volume* volume = (struct volume*)_volume->private_volume;
1111 status_t status = fs_access(_volume, _directory, W_OK);
1116 status = fs_generic_create(_volume, directory, name, S_IFDIR | (mode & 07777), &inode);
1125 fs_remove_dir(fs_volume* _volume, fs_vnode* _directory, const char* name)
1129 status_t status = fs_generic_unlink(_volume, _directory, name, RM_DIR);
1133 entry_cache_remove(_volume->id, directory_inode, "..");
1139 fs_open_dir(fs_volume* _volume, fs_vnode* _node, void** _cookie)
1144 status_t status = fs_access(_volume, _node, R_OK);
1198 fs_read_dir(fs_volume* _volume, fs_vnode* _node, void* _cookie,
1210 volume* volume = (struct volume*)_volume->private_volume;
1243 dirent->d_dev = _volume->id;
1261 fs_rewind_dir(fs_volume* /*_volume*/, fs_vnode* /*node*/, void *_cookie)
1271 fs_close_dir(fs_volume* /*_volume*/, fs_vnode* /*node*/, void* /*_cookie*/)
1278 fs_free_dir_cookie(fs_volume* _volume, fs_vnode* _node, void* _cookie)