Lines Matching refs:fuse
89 static int fuse_setattr(struct fuse *, struct puffs_node *,
310 fuse_getattr(struct fuse *fuse, struct puffs_node *pn, const char *path, in fuse_getattr() argument
320 ret = fuse_fs_getattr_v30(fuse->fs, path, &st, fi); in fuse_getattr()
333 fuse_setattr(struct fuse *fuse, struct puffs_node *pn, const char *path, in fuse_setattr() argument
350 ret = fuse_fs_chmod_v30(fuse->fs, path, mode, fi); in fuse_setattr()
355 ret = fuse_fs_chown_v30(fuse->fs, path, uid, gid, fi); in fuse_setattr()
369 ret = fuse_fs_utimens_v30(fuse->fs, path, tv, fi); in fuse_setattr()
374 ret = fuse_fs_truncate_v30(fuse->fs, path, (off_t)va->va_size, fi); in fuse_setattr()
393 struct fuse *fuse; in fuse_newnode() local
395 fuse = puffs_getspecific(pu); in fuse_newnode()
401 fuse_fs_rmdir(fuse->fs, path); in fuse_newnode()
403 fuse_fs_unlink(fuse->fs, path); in fuse_newnode()
407 fuse_setattr(fuse, pn, path, va); in fuse_newnode()
408 if (fuse_getattr(fuse, pn, path, &newva) == 0) in fuse_newnode()
433 struct fuse *fuse; in puffs_fuse_node_lookup() local
437 fuse = puffs_getspecific(pu); in puffs_fuse_node_lookup()
441 ret = fuse_fs_getattr_v30(fuse->fs, path, &st, NULL); in puffs_fuse_node_lookup()
471 struct fuse *fuse; in puffs_fuse_node_getattr() local
474 fuse = puffs_getspecific(pu); in puffs_fuse_node_getattr()
478 return fuse_getattr(fuse, pn, path, va); in puffs_fuse_node_getattr()
488 struct fuse *fuse; in puffs_fuse_node_readlink() local
492 fuse = puffs_getspecific(pu); in puffs_fuse_node_readlink()
497 ret = fuse_fs_readlink(fuse->fs, path, linkname, *linklen); in puffs_fuse_node_readlink()
517 struct fuse *fuse; in puffs_fuse_node_mknod() local
522 fuse = puffs_getspecific(pu); in puffs_fuse_node_mknod()
528 ret = fuse_fs_mknod(fuse->fs, path, mode, va->va_rdev); in puffs_fuse_node_mknod()
544 struct fuse *fuse; in puffs_fuse_node_mkdir() local
549 fuse = puffs_getspecific(pu); in puffs_fuse_node_mkdir()
554 ret = fuse_fs_mkdir(fuse->fs, path, mode); in puffs_fuse_node_mkdir()
576 struct fuse *fuse; in puffs_fuse_node_create() local
583 fuse = puffs_getspecific(pu); in puffs_fuse_node_create()
602 ret = fuse_fs_create(fuse->fs, path, mode | S_IFREG, &fi); in puffs_fuse_node_create()
607 ret = fuse_fs_mknod(fuse->fs, path, mode | S_IFREG, 0); in puffs_fuse_node_create()
618 (void)fuse_fs_release(fuse->fs, path, &rn->file_info); in puffs_fuse_node_create()
632 struct fuse *fuse; in puffs_fuse_node_remove() local
636 fuse = puffs_getspecific(pu); in puffs_fuse_node_remove()
641 ret = fuse_fs_unlink(fuse->fs, path); in puffs_fuse_node_remove()
653 struct fuse *fuse; in puffs_fuse_node_rmdir() local
657 fuse = puffs_getspecific(pu); in puffs_fuse_node_rmdir()
662 ret = fuse_fs_rmdir(fuse->fs, path); in puffs_fuse_node_rmdir()
674 struct fuse *fuse; in puffs_fuse_node_symlink() local
678 fuse = puffs_getspecific(pu); in puffs_fuse_node_symlink()
683 ret = fuse_fs_symlink(fuse->fs, link_target, path); in puffs_fuse_node_symlink()
699 struct fuse *fuse; in puffs_fuse_node_rename() local
704 fuse = puffs_getspecific(pu); in puffs_fuse_node_rename()
708 ret = fuse_fs_rename_v30(fuse->fs, path_src, path_dest, 0); in puffs_fuse_node_rename()
720 struct fuse *fuse; in puffs_fuse_node_link() local
723 fuse = puffs_getspecific(pu); in puffs_fuse_node_link()
728 ret = fuse_fs_link(fuse->fs, PNPATH(pn), PCNPATH(pcn)); in puffs_fuse_node_link()
744 struct fuse *fuse; in puffs_fuse_node_setattr() local
747 fuse = puffs_getspecific(pu); in puffs_fuse_node_setattr()
751 return fuse_setattr(fuse, pn, path, va); in puffs_fuse_node_setattr()
775 struct fuse *fuse; in puffs_fuse_node_open() local
779 fuse = puffs_getspecific(pu); in puffs_fuse_node_open()
793 ret = fuse_fs_opendir(fuse->fs, path, fi); in puffs_fuse_node_open()
795 ret = fuse_fs_open(fuse->fs, path, fi); in puffs_fuse_node_open()
813 struct fuse *fuse; in puffs_fuse_node_close() local
818 fuse = puffs_getspecific(pu); in puffs_fuse_node_close()
826 ret = fuse_fs_releasedir(fuse->fs, path, fi); in puffs_fuse_node_close()
828 ret = fuse_fs_release(fuse->fs, path, fi); in puffs_fuse_node_close()
846 struct fuse *fuse; in puffs_fuse_node_read() local
851 fuse = puffs_getspecific(pu); in puffs_fuse_node_read()
863 ret = fuse_fs_read(fuse->fs, path, (char *)buf, maxread, offset, in puffs_fuse_node_read()
883 struct fuse *fuse; in puffs_fuse_node_write() local
887 fuse = puffs_getspecific(pu); in puffs_fuse_node_write()
894 ret = fuse_fs_write(fuse->fs, path, (char *)buf, *resid, offset, in puffs_fuse_node_write()
920 struct fuse *fuse; in puffs_fuse_node_readdir() local
925 fuse = puffs_getspecific(pu); in puffs_fuse_node_readdir()
944 fuse->fs, path, dirh, puffs_fuse_fill_dir, in puffs_fuse_node_readdir()
986 struct fuse *fuse; in puffs_fuse_fs_unmount() local
988 fuse = puffs_getspecific(pu); in puffs_fuse_fs_unmount()
989 fuse_fs_destroy(fuse->fs); in puffs_fuse_fs_unmount()
1006 struct fuse *fuse; in puffs_fuse_fs_statvfs() local
1015 fuse = puffs_getspecific(pu); in puffs_fuse_fs_statvfs()
1016 ret = fuse_fs_statfs(fuse->fs, PNPATH(puffs_getroot(pu)), &sb); in puffs_fuse_fs_statvfs()
1026 struct fuse *
1032 struct fuse *fuse = NULL; in __fuse_setup() local
1070 fuse = __fuse_new(&args, op, op_version, user_data); in __fuse_setup()
1071 if (fuse == NULL) in __fuse_setup()
1077 if (fuse_mount_v30(fuse, opts->mountpoint) != 0) in __fuse_setup()
1080 if (__fuse_set_signal_handlers(fuse) != 0) { in __fuse_setup()
1088 fuse_destroy_v30(fuse); in __fuse_setup()
1089 fuse = NULL; in __fuse_setup()
1094 return fuse; in __fuse_setup()
1098 __fuse_teardown(struct fuse* fuse) in __fuse_teardown() argument
1100 if (__fuse_remove_signal_handlers(fuse) != 0) in __fuse_teardown()
1103 fuse_unmount_v30(fuse); in __fuse_teardown()
1112 struct fuse *fuse; in __fuse_main() local
1115 fuse = __fuse_setup(argc, argv, op, op_version, user_data, &opts); in __fuse_main()
1116 if (fuse == NULL) in __fuse_main()
1119 rv = fuse_loop(fuse); in __fuse_main()
1121 __fuse_teardown(fuse); in __fuse_main()
1127 int __fuse_mount(struct fuse *fuse, const char *mountpoint) in __fuse_mount() argument
1134 pn_root = newrn(fuse->pu); in __fuse_mount()
1135 puffs_setroot(fuse->pu, pn_root); in __fuse_mount()
1139 po_root = puffs_getrootpathobj(fuse->pu); in __fuse_mount()
1143 puffs_path_buildhash(fuse->pu, po_root); in __fuse_mount()
1155 puffs_set_prepost(fuse->pu, set_fuse_context_pid, NULL); in __fuse_mount()
1158 if (puffs_mount(fuse->pu, mountpoint, MNT_NODEV | MNT_NOSUID, pn_root) == -1) { in __fuse_mount()
1170 struct fuse *fuse = fuse_get_context()->fuse; in fuse_daemonize() local
1172 if (!fuse) in fuse_daemonize()
1179 return puffs_daemon(fuse->pu, 0, 0); in fuse_daemonize()
1184 struct fuse *
1191 struct fuse *fuse; in __fuse_new() local
1199 if ((fuse = calloc(1, sizeof(*fuse))) == NULL) { in __fuse_new()
1206 free(fuse); in __fuse_new()
1211 fuse->fs = __fuse_fs_new(op, op_version, user_data); in __fuse_new()
1214 fusectx->fuse = fuse; in __fuse_new()
1257 pu = puffs_init(pops, _PATH_PUFFS, config.fsname, fuse, puffs_flags); in __fuse_new()
1261 fuse->pu = pu; in __fuse_new()
1264 return fuse; in __fuse_new()
1268 fuse_loop(struct fuse *fuse) in fuse_loop() argument
1279 fuse_fs_init_v30(fuse->fs, &conn, &cfg); in fuse_loop()
1281 return puffs_mainloop(fuse->pu); in fuse_loop()
1285 __fuse_loop_mt(struct fuse *fuse, in __fuse_loop_mt() argument
1289 return fuse_loop(fuse); in __fuse_loop_mt()
1293 __fuse_destroy(struct fuse *fuse) in __fuse_destroy() argument
1304 free(fuse); in __fuse_destroy()
1308 fuse_exit(struct fuse *fuse) in fuse_exit() argument
1311 if (fuse->dead == 0) in fuse_exit()
1312 puffs_exit(fuse->pu, 1); in fuse_exit()
1313 fuse->dead = 1; in fuse_exit()
1321 __fuse_unmount(struct fuse *fuse) in __fuse_unmount() argument
1324 if (fuse->dead == 0) in __fuse_unmount()
1325 puffs_exit(fuse->pu, 1); in __fuse_unmount()
1326 fuse->dead = 1; in __fuse_unmount()
1344 fuse_invalidate_path(struct fuse *fuse __attribute__((__unused__)), in fuse_invalidate_path() argument
1376 fuse_start_cleanup_thread(struct fuse *fuse) in fuse_start_cleanup_thread() argument
1383 fuse_stop_cleanup_thread(struct fuse *fuse) { in fuse_stop_cleanup_thread() argument
1388 fuse_clean_cache(struct fuse *fuse) { in fuse_clean_cache() argument