Lines Matching refs:volume

85 #define HAS_FS_MOUNT_CALL(mount, op)	(mount->volume->ops->op != NULL)
90 vnode->ops->op(vnode->mount->volume, vnode, params) \
94 vnode->ops->op(vnode->mount->volume, vnode) \
98 mount->volume->ops->op(mount->volume, params) \
102 mount->volume->ops->op(mount->volume) \
106 vnode->ops->op(vnode->mount->volume, vnode, params)
108 vnode->ops->op(vnode->mount->volume, vnode)
110 mount->volume->ops->op(mount->volume, params)
112 mount->volume->ops->op(mount->volume)
138 volume(NULL),
149 while (volume) {
150 fs_volume* superVolume = volume->super_volume;
152 if (volume->file_system != NULL)
153 put_module(volume->file_system->info.name);
155 free(volume->file_system_name);
156 free(volume);
157 volume = superVolume;
163 fs_volume* volume;
1125 return create_fifo_vnode(vnode->mount->volume, vnode);
3016 fs_volume* volume = mount->volume;
3017 while (volume != NULL) {
3018 kprintf(" volume %p:\n", volume);
3019 kprintf(" layer: %" B_PRId32 "\n", volume->layer);
3020 kprintf(" private_volume: %p\n", volume->private_volume);
3021 kprintf(" ops: %p\n", volume->ops);
3022 kprintf(" file_system: %p\n", volume->file_system);
3023 kprintf(" file_system_name: %s\n", volume->file_system_name);
3024 volume = volume->super_volume;
3027 set_debug_variable("_volume", (addr_t)mount->volume->private_volume);
3219 mount->root_vnode->covers, mount->volume->private_volume,
3220 mount->volume->file_system_name);
3222 fs_volume* volume = mount->volume;
3223 while (volume->super_volume != NULL) {
3224 volume = volume->super_volume;
3226 volume->private_volume, volume->file_system_name);
3680 new_vnode(fs_volume* volume, ino_t vnodeID, void* privateNode,
3683 FUNCTION(("new_vnode(volume = %p (%" B_PRId32 "), vnodeID = %" B_PRId64
3684 ", node = %p)\n", volume, volume->id, vnodeID, privateNode));
3694 status_t status = create_new_vnode_and_lock(volume->id, vnodeID, vnode,
3704 if (!retry_busy_vnode(tries, volume->id, vnodeID))
3713 "vnode->node = %p)!", volume->id, vnodeID, privateNode,
3729 publish_vnode(fs_volume* volume, ino_t vnodeID, void* privateNode,
3738 struct vnode* vnode = lookup_vnode(volume->id, vnodeID);
3748 status_t status = create_new_vnode_and_lock(volume->id, vnodeID, vnode,
3765 if (!retry_busy_vnode(tries, volume->id, vnodeID))
3781 if (volume->sub_volume != NULL || publishSpecialSubNode) {
3784 fs_volume* subVolume = volume;
3785 if (volume->sub_volume != NULL) {
3798 while (subVolume->super_volume != volume) {
3828 get_vnode(fs_volume* volume, ino_t vnodeID, void** _privateNode)
3832 if (volume == NULL)
3835 status_t status = get_vnode(volume->id, vnodeID, &vnode, true, true);
3843 status_t status = FS_CALL(vnode, get_super_vnode, volume,
3847 "volume: %p", vnode, volume);
3862 acquire_vnode(fs_volume* volume, ino_t vnodeID)
3866 struct vnode* vnode = lookup_vnode(volume->id, vnodeID);
3876 put_vnode(fs_volume* volume, ino_t vnodeID)
3881 vnode = lookup_vnode(volume->id, vnodeID);
3893 remove_vnode(fs_volume* volume, ino_t vnodeID)
3897 struct vnode* vnode = lookup_vnode(volume->id, vnodeID);
3931 unremove_vnode(fs_volume* volume, ino_t vnodeID)
3937 vnode = lookup_vnode(volume->id, vnodeID);
3949 get_vnode_removed(fs_volume* volume, ino_t vnodeID, bool* _removed)
3953 if (struct vnode* vnode = lookup_vnode(volume->id, vnodeID)) {
3970 return vnode->mount->volume;
4278 vfs_get_fs_node_from_path(fs_volume* volume, const char* path,
4281 TRACE(("vfs_get_fs_node_from_path(volume = %p, path = \"%s\", kernel %d)\n",
4282 volume, path, kernel));
4289 status_t status = get_mount(volume->id, &mount);
4312 if (vnode->device != volume->id) {
4318 status = get_vnode(volume, vnode->id, _node);
7016 // are the files on the same volume?
7335 fs_volume* volume = NULL;
7469 mount->volume = NULL;
7471 // build up the volume(s)
7484 volume = (fs_volume*)malloc(sizeof(fs_volume));
7485 if (volume == NULL) {
7490 volume->id = mount->id;
7491 volume->partition = partition != NULL ? partition->ID() : -1;
7492 volume->layer = layer++;
7493 volume->private_volume = NULL;
7494 volume->ops = NULL;
7495 volume->sub_volume = NULL;
7496 volume->super_volume = NULL;
7497 volume->file_system = NULL;
7498 volume->file_system_name = NULL;
7500 volume->file_system_name = get_file_system_name(layerFSName);
7501 if (volume->file_system_name == NULL) {
7503 free(volume);
7507 volume->file_system = get_file_system(layerFSName);
7508 if (volume->file_system == NULL) {
7510 free(volume->file_system_name);
7511 free(volume);
7515 if (mount->volume == NULL)
7516 mount->volume = volume;
7518 volume->super_volume = mount->volume;
7519 mount->volume->sub_volume = volume;
7520 mount->volume = volume;
7539 status = mount->volume->file_system->mount(mount->volume, device, flags,
7541 if (status != B_OK || mount->volume->ops == NULL)
7567 fs_volume* volume = mount->volume;
7568 while (volume) {
7569 status = volume->file_system->mount(volume, device, flags, args,
7571 if (status != B_OK || volume->ops == NULL) {
7572 if (status == B_OK && volume->ops == NULL)
7574 if (volume->sub_volume)
7579 volume = volume->super_volume;
7582 volume = mount->volume;
7583 while (volume) {
7584 if (volume->ops->all_layers_mounted != NULL)
7585 volume->ops->all_layers_mounted(volume);
7586 volume = volume->super_volume;
7628 partition->SetMountCookie(mount->volume->private_volume);
7696 // if the volume is associated with a partition, lock the device of the
7985 fs_volume* volume = mount->volume;
7986 while (volume->super_volume != NULL)
7987 volume = volume->super_volume;
7989 strlcpy(info->fsh_name, volume->file_system_name,
8038 if (mount != NULL && mount->volume->private_volume != NULL)
9518 put_vnode(dir->mount->volume, nodeID);