Lines Matching defs:volume

47 		return superVnode->ops->op(volume->super_volume, superVnode, params); \
52 TRACE_VOLUME("relaying volume op: " #op "\n"); \
53 if (volume->super_volume->ops->op != NULL) \
54 return volume->super_volume->ops->op(volume->super_volume, params);
71 OverlayVolume(fs_volume *volume);
84 OverlayInode(OverlayVolume *volume,
110 fs_volume *volume, fs_vnode *vnode);
120 fs_volume *volume, fs_vnode *vnode);
122 fs_volume *volume, fs_vnode *vnode);
217 OverlayVolume::OverlayVolume(fs_volume *volume)
219 fVolume(volume)
232 OverlayInode::OverlayInode(OverlayVolume *volume, fs_vnode *superVnode,
235 fVolume(volume),
320 AttributeFile::AttributeFile(fs_volume *overlay, fs_volume *volume,
324 fVolumeID(volume->id),
341 fStatus = vnode->ops->get_vnode_name(volume, vnode, nameBuffer,
356 && vnode->ops->read_stat(volume, vnode, &stat) == B_OK) {
376 put_vnode(volume, lastInodeNumber);
381 fStatus = currentVnode.ops->lookup(volume, &currentVnode, lookup[i],
385 put_vnode(volume, lastInodeNumber);
416 put_vnode(volume, lastInodeNumber);
421 fStatus = currentVnode.ops->read_stat(volume, &currentVnode, &stat);
424 put_vnode(volume, lastInodeNumber);
429 fStatus = currentVnode.ops->open(volume, &currentVnode, O_RDONLY,
433 put_vnode(volume, lastInodeNumber);
441 put_vnode(volume, lastInodeNumber);
446 fStatus = currentVnode.ops->read(volume, &currentVnode, attrFileCookie, 0,
450 put_vnode(volume, lastInodeNumber);
455 currentVnode.ops->close(volume, &currentVnode, attrFileCookie);
457 currentVnode.ops->free_cookie(volume, &currentVnode, attrFileCookie);
459 put_vnode(volume, lastInodeNumber);
537 AttributeFile::WriteAttributeFile(fs_volume *overlay, fs_volume *volume,
545 status_t result = vnode->ops->get_vnode_name(volume, vnode, nameBuffer,
560 result = currentVnode.ops->lookup(volume, &currentVnode, "..",
568 put_vnode(volume, fDirectoryInode);
583 result = currentVnode.ops->create_dir(volume, &currentVnode,
587 result = currentVnode.ops->lookup(volume, &currentVnode,
592 put_vnode(volume, fAttributeDirInode);
595 put_vnode(volume, fDirectoryInode);
617 result = currentVnode.ops->create(volume, &currentVnode,
622 put_vnode(volume, fAttributeDirInode);
651 result = currentVnode.ops->open(volume, &currentVnode, O_RDWR | O_TRUNC,
656 put_vnode(volume, fAttributeFileInode);
663 result = currentVnode.ops->write(volume, &currentVnode, attrFileCookie,
673 result = currentVnode.ops->write(volume, &currentVnode, attrFileCookie,
682 result = currentVnode.ops->write(volume, &currentVnode, attrFileCookie,
693 currentVnode.ops->close(volume, &currentVnode, attrFileCookie);
695 currentVnode.ops->free_cookie(volume, &currentVnode, attrFileCookie);
697 put_vnode(volume, fAttributeFileInode);
703 AttributeFile::RemoveAttributeFile(fs_volume *overlay, fs_volume *volume,
721 status_t result = vnode->ops->get_vnode_name(volume, vnode, nameBuffer,
739 put_vnode(volume, attributeDirInode);
743 result = attributeDir.ops->unlink(volume, &attributeDir, nameBuffer);
746 put_vnode(volume, attributeDirInode);
750 put_vnode(volume, attributeDirInode);
1106 overlay_put_vnode(fs_volume *volume, fs_vnode *vnode, bool reenter)
1113 result = superVnode->ops->put_vnode(volume->super_volume, superVnode,
1123 overlay_remove_vnode(fs_volume *volume, fs_vnode *vnode, bool reenter)
1130 result = superVnode->ops->remove_vnode(volume->super_volume, superVnode,
1140 overlay_get_super_vnode(fs_volume *volume, fs_vnode *vnode,
1143 if (volume == superVolume) {
1152 return superVnode->ops->get_super_vnode(volume->super_volume,
1162 overlay_lookup(fs_volume *volume, fs_vnode *vnode, const char *name, ino_t *id)
1169 overlay_get_vnode_name(fs_volume *volume, fs_vnode *vnode, char *buffer,
1177 overlay_can_page(fs_volume *volume, fs_vnode *vnode, void *cookie)
1184 return superVnode->ops->can_page(volume->super_volume, superVnode,
1193 overlay_read_pages(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1201 overlay_write_pages(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1209 overlay_io(fs_volume *volume, fs_vnode *vnode, void *cookie,
1217 overlay_cancel_io(fs_volume *volume, fs_vnode *vnode, void *cookie,
1225 overlay_get_file_map(fs_volume *volume, fs_vnode *vnode, off_t offset,
1233 overlay_ioctl(fs_volume *volume, fs_vnode *vnode, void *cookie, uint32 op,
1241 overlay_set_flags(fs_volume *volume, fs_vnode *vnode, void *cookie,
1249 overlay_select(fs_volume *volume, fs_vnode *vnode, void *cookie, uint8 event,
1257 overlay_deselect(fs_volume *volume, fs_vnode *vnode, void *cookie, uint8 event,
1265 overlay_fsync(fs_volume *volume, fs_vnode *vnode)
1271 return superVnode->ops->fsync(volume->super_volume, superVnode);
1278 overlay_read_symlink(fs_volume *volume, fs_vnode *vnode, char *buffer,
1286 overlay_create_symlink(fs_volume *volume, fs_vnode *vnode, const char *name,
1294 overlay_link(fs_volume *volume, fs_vnode *vnode, const char *name,
1303 overlay_unlink(fs_volume *volume, fs_vnode *vnode, const char *name)
1310 overlay_rename(fs_volume *volume, fs_vnode *vnode,
1319 overlay_access(fs_volume *volume, fs_vnode *vnode, int mode)
1326 overlay_read_stat(fs_volume *volume, fs_vnode *vnode, struct stat *stat)
1333 overlay_write_stat(fs_volume *volume, fs_vnode *vnode, const struct stat *stat,
1341 overlay_create(fs_volume *volume, fs_vnode *vnode, const char *name,
1349 overlay_open(fs_volume *volume, fs_vnode *vnode, int openMode, void **cookie)
1356 overlay_close(fs_volume *volume, fs_vnode *vnode, void *cookie)
1363 overlay_free_cookie(fs_volume *volume, fs_vnode *vnode, void *cookie)
1370 overlay_read(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1378 overlay_write(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1386 overlay_create_dir(fs_volume *volume, fs_vnode *vnode, const char *name,
1394 overlay_remove_dir(fs_volume *volume, fs_vnode *vnode, const char *name)
1401 overlay_open_dir(fs_volume *volume, fs_vnode *vnode, void **cookie)
1408 overlay_close_dir(fs_volume *volume, fs_vnode *vnode, void *cookie)
1415 overlay_free_dir_cookie(fs_volume *volume, fs_vnode *vnode, void *cookie)
1422 overlay_read_dir(fs_volume *volume, fs_vnode *vnode, void *cookie,
1429 status_t result = superVnode->ops->read_dir(volume->super_volume,
1436 return superVnode->ops->read_dir(volume->super_volume, superVnode,
1448 overlay_rewind_dir(fs_volume *volume, fs_vnode *vnode, void *cookie)
1455 overlay_open_attr_dir(fs_volume *volume, fs_vnode *vnode, void **cookie)
1476 overlay_close_attr_dir(fs_volume *volume, fs_vnode *vnode, void *cookie)
1483 overlay_free_attr_dir_cookie(fs_volume *volume, fs_vnode *vnode, void *cookie)
1491 overlay_read_attr_dir(fs_volume *volume, fs_vnode *vnode, void *cookie,
1501 overlay_rewind_attr_dir(fs_volume *volume, fs_vnode *vnode, void *cookie)
1510 overlay_create_attr(fs_volume *volume, fs_vnode *vnode, const char *name,
1525 overlay_open_attr(fs_volume *volume, fs_vnode *vnode, const char *name,
1540 overlay_close_attr(fs_volume *volume, fs_vnode *vnode, void *cookie)
1547 overlay_free_attr_cookie(fs_volume *volume, fs_vnode *vnode, void *cookie)
1554 overlay_read_attr(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1562 overlay_write_attr(fs_volume *volume, fs_vnode *vnode, void *cookie, off_t pos,
1570 overlay_read_attr_stat(fs_volume *volume, fs_vnode *vnode, void *cookie,
1578 overlay_write_attr_stat(fs_volume *volume, fs_vnode *vnode, void *cookie,
1586 overlay_rename_attr(fs_volume *volume, fs_vnode *vnode,
1628 overlay_remove_attr(fs_volume *volume, fs_vnode *vnode, const char *name)
1641 overlay_create_special_node(fs_volume *volume, fs_vnode *vnode,
1727 // #pragma mark - volume ops
1731 overlay_unmount(fs_volume *volume)
1733 TRACE_VOLUME("relaying volume op: unmount\n");
1734 if (volume->super_volume != NULL
1735 && volume->super_volume->ops != NULL
1736 && volume->super_volume->ops->unmount != NULL)
1737 volume->super_volume->ops->unmount(volume->super_volume);
1739 delete (OverlayVolume *)volume->private_volume;
1745 overlay_read_fs_info(fs_volume *volume, struct fs_info *info)
1747 TRACE_VOLUME("relaying volume op: read_fs_info\n");
1749 if (volume->super_volume->ops->read_fs_info != NULL) {
1750 result = volume->super_volume->ops->read_fs_info(volume->super_volume,
1765 overlay_write_fs_info(fs_volume *volume, const struct fs_info *info,
1774 overlay_sync(fs_volume *volume)
1776 TRACE_VOLUME("relaying volume op: sync\n");
1777 if (volume->super_volume->ops->sync != NULL)
1778 return volume->super_volume->ops->sync(volume->super_volume);
1784 overlay_get_vnode(fs_volume *volume, ino_t id, fs_vnode *vnode, int *_type,
1787 TRACE_VOLUME("relaying volume op: get_vnode\n");
1788 if (volume->super_volume->ops->get_vnode != NULL) {
1789 status_t status = volume->super_volume->ops->get_vnode(
1790 volume->super_volume, id, vnode, _type, _flags, reenter);
1795 (OverlayVolume *)volume->private_volume, vnode, id);
1797 vnode->ops->put_vnode(volume->super_volume, vnode, reenter);
1803 vnode->ops->put_vnode(volume->super_volume, vnode, reenter);
1818 overlay_open_index_dir(fs_volume *volume, void **cookie)
1826 overlay_close_index_dir(fs_volume *volume, void *cookie)
1834 overlay_free_index_dir_cookie(fs_volume *volume, void *cookie)
1842 overlay_read_index_dir(fs_volume *volume, void *cookie, struct dirent *buffer,
1851 overlay_rewind_index_dir(fs_volume *volume, void *cookie)
1859 overlay_create_index(fs_volume *volume, const char *name, uint32 type,
1868 overlay_remove_index(fs_volume *volume, const char *name)
1876 overlay_read_index_stat(fs_volume *volume, const char *name, struct stat *stat)
1884 overlay_open_query(fs_volume *volume, const char *query, uint32 flags,
1893 overlay_close_query(fs_volume *volume, void *cookie)
1901 overlay_free_query_cookie(fs_volume *volume, void *cookie)
1909 overlay_read_query(fs_volume *volume, void *cookie, struct dirent *buffer,
1918 overlay_rewind_query(fs_volume *volume, void *cookie)
1926 overlay_all_layers_mounted(fs_volume *volume)
1933 overlay_create_sub_vnode(fs_volume *volume, ino_t id, fs_vnode *vnode)
1936 (OverlayVolume *)volume->private_volume, vnode, id);
1953 overlay_delete_sub_vnode(fs_volume *volume, fs_vnode *vnode)
1994 overlay_mount(fs_volume *volume, const char *device, uint32 flags,
1998 volume->private_volume = new(std::nothrow) OverlayVolume(volume);
1999 if (volume->private_volume == NULL)
2002 volume->ops = &sOverlayVolumeOps;