Lines Matching refs:ff
600 static int fs_can_allocate(struct fuse2fs *ff, blk64_t num) in fs_can_allocate() argument
602 ext2_filsys fs = ff->fs; in fs_can_allocate()
606 "rsvd=%llu\n", __func__, num, ff->alloc_all_blocks, in fs_can_allocate()
613 if (ff->alloc_all_blocks) in fs_can_allocate()
635 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in check_inum_access() local
665 if (ff->fakeroot || ctxt->uid == 0) { in check_inum_access()
705 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_destroy() local
709 if (ff->magic != FUSE2FS_MAGIC) { in op_destroy()
713 fs = ff->fs; in op_destroy()
733 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_init() local
737 if (ff->magic != FUSE2FS_MAGIC) { in op_init()
741 fs = ff->fs; in op_init()
755 return ff; in op_init()
803 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_getattr() local
809 FUSE2FS_CHECK_CONTEXT(ff); in op_getattr()
810 fs = ff->fs; in op_getattr()
812 pthread_mutex_lock(&ff->bfl); in op_getattr()
820 pthread_mutex_unlock(&ff->bfl); in op_getattr()
827 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_readlink() local
836 FUSE2FS_CHECK_CONTEXT(ff); in op_readlink()
837 fs = ff->fs; in op_readlink()
839 pthread_mutex_lock(&ff->bfl); in op_readlink()
896 pthread_mutex_unlock(&ff->bfl); in op_readlink()
903 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_mknod() local
913 FUSE2FS_CHECK_CONTEXT(ff); in op_mknod()
914 fs = ff->fs; in op_mknod()
931 pthread_mutex_lock(&ff->bfl); in op_mknod()
932 if (!fs_can_allocate(ff, 2)) { in op_mknod()
1012 inode.i_generation = ff->next_generation++; in op_mknod()
1024 pthread_mutex_unlock(&ff->bfl); in op_mknod()
1033 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_mkdir() local
1045 FUSE2FS_CHECK_CONTEXT(ff); in op_mkdir()
1046 fs = ff->fs; in op_mkdir()
1062 pthread_mutex_lock(&ff->bfl); in op_mkdir()
1063 if (!fs_can_allocate(ff, 1)) { in op_mkdir()
1133 inode.i_generation = ff->next_generation++; in op_mkdir()
1166 pthread_mutex_unlock(&ff->bfl); in op_mkdir()
1210 static int remove_inode(struct fuse2fs *ff, ext2_ino_t ino) in remove_inode() argument
1212 ext2_filsys fs = ff->fs; in remove_inode()
1273 static int __op_unlink(struct fuse2fs *ff, const char *path) in __op_unlink() argument
1275 ext2_filsys fs = ff->fs; in __op_unlink()
1290 ret = remove_inode(ff, ino); in __op_unlink()
1300 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_unlink() local
1303 FUSE2FS_CHECK_CONTEXT(ff); in op_unlink()
1304 pthread_mutex_lock(&ff->bfl); in op_unlink()
1305 ret = __op_unlink(ff, path); in op_unlink()
1306 pthread_mutex_unlock(&ff->bfl); in op_unlink()
1338 static int __op_rmdir(struct fuse2fs *ff, const char *path) in __op_rmdir() argument
1340 ext2_filsys fs = ff->fs; in __op_rmdir()
1372 ret = remove_inode(ff, child); in __op_rmdir()
1375 ret = remove_inode(ff, child); in __op_rmdir()
1410 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_rmdir() local
1413 FUSE2FS_CHECK_CONTEXT(ff); in op_rmdir()
1414 pthread_mutex_lock(&ff->bfl); in op_rmdir()
1415 ret = __op_rmdir(ff, path); in op_rmdir()
1416 pthread_mutex_unlock(&ff->bfl); in op_rmdir()
1423 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_symlink() local
1432 FUSE2FS_CHECK_CONTEXT(ff); in op_symlink()
1433 fs = ff->fs; in op_symlink()
1449 pthread_mutex_lock(&ff->bfl); in op_symlink()
1506 inode.i_generation = ff->next_generation++; in op_symlink()
1515 pthread_mutex_unlock(&ff->bfl); in op_symlink()
1547 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_rename() local
1557 FUSE2FS_CHECK_CONTEXT(ff); in op_rename()
1558 fs = ff->fs; in op_rename()
1560 pthread_mutex_lock(&ff->bfl); in op_rename()
1561 if (!fs_can_allocate(ff, 5)) { in op_rename()
1661 ret = __op_rmdir(ff, to); in op_rename()
1663 ret = __op_unlink(ff, to); in op_rename()
1765 pthread_mutex_unlock(&ff->bfl); in op_rename()
1772 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_link() local
1781 FUSE2FS_CHECK_CONTEXT(ff); in op_link()
1782 fs = ff->fs; in op_link()
1798 pthread_mutex_lock(&ff->bfl); in op_link()
1799 if (!fs_can_allocate(ff, 2)) { in op_link()
1867 pthread_mutex_unlock(&ff->bfl); in op_link()
1876 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_chmod() local
1883 FUSE2FS_CHECK_CONTEXT(ff); in op_chmod()
1884 fs = ff->fs; in op_chmod()
1885 pthread_mutex_lock(&ff->bfl); in op_chmod()
1901 if (!ff->fakeroot && ctxt->uid != 0 && ctxt->uid != inode_uid(inode)) { in op_chmod()
1911 if (!ff->fakeroot && ctxt->uid != 0 && ctxt->gid != inode_gid(inode)) in op_chmod()
1928 pthread_mutex_unlock(&ff->bfl); in op_chmod()
1935 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_chown() local
1942 FUSE2FS_CHECK_CONTEXT(ff); in op_chown()
1943 fs = ff->fs; in op_chown()
1944 pthread_mutex_lock(&ff->bfl); in op_chown()
1964 if (!ff->fakeroot && ctxt->uid != 0 && in op_chown()
1975 if (!ff->fakeroot && ctxt->uid != 0 && in op_chown()
1998 pthread_mutex_unlock(&ff->bfl); in op_chown()
2005 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_truncate() local
2012 FUSE2FS_CHECK_CONTEXT(ff); in op_truncate()
2013 fs = ff->fs; in op_truncate()
2014 pthread_mutex_lock(&ff->bfl); in op_truncate()
2050 pthread_mutex_unlock(&ff->bfl); in op_truncate()
2075 static int __op_open(struct fuse2fs *ff, const char *path, in __op_open() argument
2078 ext2_filsys fs = ff->fs; in __op_open()
2145 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_open() local
2148 FUSE2FS_CHECK_CONTEXT(ff); in op_open()
2149 pthread_mutex_lock(&ff->bfl); in op_open()
2150 ret = __op_open(ff, path, fp); in op_open()
2151 pthread_mutex_unlock(&ff->bfl); in op_open()
2160 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_read() local
2169 FUSE2FS_CHECK_CONTEXT(ff); in op_read()
2170 fs = ff->fs; in op_read()
2174 pthread_mutex_lock(&ff->bfl); in op_read()
2208 pthread_mutex_unlock(&ff->bfl); in op_read()
2217 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_write() local
2226 FUSE2FS_CHECK_CONTEXT(ff); in op_write()
2227 fs = ff->fs; in op_write()
2231 pthread_mutex_lock(&ff->bfl); in op_write()
2237 if (!fs_can_allocate(ff, len / fs->blocksize)) { in op_write()
2281 pthread_mutex_unlock(&ff->bfl); in op_write()
2289 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_release() local
2296 FUSE2FS_CHECK_CONTEXT(ff); in op_release()
2297 fs = ff->fs; in op_release()
2300 pthread_mutex_lock(&ff->bfl); in op_release()
2307 pthread_mutex_unlock(&ff->bfl); in op_release()
2319 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_fsync() local
2326 FUSE2FS_CHECK_CONTEXT(ff); in op_fsync()
2327 fs = ff->fs; in op_fsync()
2331 pthread_mutex_lock(&ff->bfl); in op_fsync()
2337 pthread_mutex_unlock(&ff->bfl); in op_fsync()
2346 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_statfs() local
2351 FUSE2FS_CHECK_CONTEXT(ff); in op_statfs()
2352 fs = ff->fs; in op_statfs()
2357 if (ff->minixdf) in op_statfs()
2418 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_getxattr() local
2428 FUSE2FS_CHECK_CONTEXT(ff); in op_getxattr()
2429 fs = ff->fs; in op_getxattr()
2430 pthread_mutex_lock(&ff->bfl); in op_getxattr()
2492 pthread_mutex_unlock(&ff->bfl); in op_getxattr()
2521 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_listxattr() local
2529 FUSE2FS_CHECK_CONTEXT(ff); in op_listxattr()
2530 fs = ff->fs; in op_listxattr()
2531 pthread_mutex_lock(&ff->bfl); in op_listxattr()
2589 pthread_mutex_unlock(&ff->bfl); in op_listxattr()
2599 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_setxattr() local
2609 FUSE2FS_CHECK_CONTEXT(ff); in op_setxattr()
2610 fs = ff->fs; in op_setxattr()
2611 pthread_mutex_lock(&ff->bfl); in op_setxattr()
2668 pthread_mutex_unlock(&ff->bfl); in op_setxattr()
2676 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_removexattr() local
2683 FUSE2FS_CHECK_CONTEXT(ff); in op_removexattr()
2684 fs = ff->fs; in op_removexattr()
2685 pthread_mutex_lock(&ff->bfl); in op_removexattr()
2691 if (!fs_can_allocate(ff, 1)) { in op_removexattr()
2731 pthread_mutex_unlock(&ff->bfl); in op_removexattr()
2767 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_readdir() local
2775 FUSE2FS_CHECK_CONTEXT(ff); in op_readdir()
2776 fs = ff->fs; in op_readdir()
2779 pthread_mutex_lock(&ff->bfl); in op_readdir()
2794 pthread_mutex_unlock(&ff->bfl); in op_readdir()
2801 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_access() local
2807 FUSE2FS_CHECK_CONTEXT(ff); in op_access()
2808 fs = ff->fs; in op_access()
2810 pthread_mutex_lock(&ff->bfl); in op_access()
2822 pthread_mutex_unlock(&ff->bfl); in op_access()
2829 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_create() local
2839 FUSE2FS_CHECK_CONTEXT(ff); in op_create()
2840 fs = ff->fs; in op_create()
2856 pthread_mutex_lock(&ff->bfl); in op_create()
2857 if (!fs_can_allocate(ff, 1)) { in op_create()
2931 inode.i_generation = ff->next_generation++; in op_create()
2942 ret = __op_open(ff, path, fp); in op_create()
2946 pthread_mutex_unlock(&ff->bfl); in op_create()
2956 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_ftruncate() local
2964 FUSE2FS_CHECK_CONTEXT(ff); in op_ftruncate()
2965 fs = ff->fs; in op_ftruncate()
2968 pthread_mutex_lock(&ff->bfl); in op_ftruncate()
3000 pthread_mutex_unlock(&ff->bfl); in op_ftruncate()
3009 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_fgetattr() local
3015 FUSE2FS_CHECK_CONTEXT(ff); in op_fgetattr()
3016 fs = ff->fs; in op_fgetattr()
3019 pthread_mutex_lock(&ff->bfl); in op_fgetattr()
3021 pthread_mutex_unlock(&ff->bfl); in op_fgetattr()
3029 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_utimens() local
3037 FUSE2FS_CHECK_CONTEXT(ff); in op_utimens()
3038 fs = ff->fs; in op_utimens()
3039 pthread_mutex_lock(&ff->bfl); in op_utimens()
3085 pthread_mutex_unlock(&ff->bfl); in op_utimens()
3121 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in ioctl_setflags() local
3131 if (!ff->fakeroot && ctxt->uid != 0 && inode_uid(inode) != ctxt->uid) in ioctl_setflags()
3178 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in ioctl_setversion() local
3188 if (!ff->fakeroot && ctxt->uid != 0 && inode_uid(inode) != ctxt->uid) in ioctl_setversion()
3266 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_ioctl() local
3272 FUSE2FS_CHECK_CONTEXT(ff); in op_ioctl()
3273 fs = ff->fs; in op_ioctl()
3274 pthread_mutex_lock(&ff->bfl); in op_ioctl()
3299 pthread_mutex_unlock(&ff->bfl); in op_ioctl()
3309 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_bmap() local
3315 FUSE2FS_CHECK_CONTEXT(ff); in op_bmap()
3316 fs = ff->fs; in op_bmap()
3317 pthread_mutex_lock(&ff->bfl); in op_bmap()
3332 pthread_mutex_unlock(&ff->bfl); in op_bmap()
3342 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in fallocate_helper() local
3352 FUSE2FS_CHECK_CONTEXT(ff); in fallocate_helper()
3353 fs = ff->fs; in fallocate_helper()
3359 if (!fs_can_allocate(ff, len / fs->blocksize)) in fallocate_helper()
3478 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in punch_helper() local
3487 FUSE2FS_CHECK_CONTEXT(ff); in punch_helper()
3488 fs = ff->fs; in punch_helper()
3548 struct fuse2fs *ff = (struct fuse2fs *)ctxt->private_data; in op_fallocate() local
3549 ext2_filsys fs = ff->fs; in op_fallocate()
3556 pthread_mutex_lock(&ff->bfl); in op_fallocate()
3566 pthread_mutex_unlock(&ff->bfl); in op_fallocate()
3675 struct fuse2fs *ff = data; in fuse2fs_opt_proc() local
3679 if (!ff->device) { in fuse2fs_opt_proc()
3680 ff->device = strdup(arg); in fuse2fs_opt_proc()
3901 struct fuse2fs *ff = fs->priv_data; in __translate_error() local
3970 fprintf(ff->err_fp, "FUSE2FS (%s): %s (inode #%d) at %s:%d.\n", in __translate_error()
3974 fprintf(ff->err_fp, "FUSE2FS (%s): %s at %s:%d.\n", in __translate_error()
3977 fflush(ff->err_fp); in __translate_error()
3999 if (ff->panic_on_error) in __translate_error()