Lines Matching refs:c

88 struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,  in ubifs_new_inode()  argument
94 inode = new_inode(c->vfs_sb); in ubifs_new_inode()
139 ui->compr_type = c->default_compr; in ubifs_new_inode()
144 spin_lock(&c->cnt_lock); in ubifs_new_inode()
146 if (c->highest_inum >= INUM_WARN_WATERMARK) { in ubifs_new_inode()
147 if (c->highest_inum >= INUM_WATERMARK) { in ubifs_new_inode()
148 spin_unlock(&c->cnt_lock); in ubifs_new_inode()
149 ubifs_err(c, "out of inode numbers"); in ubifs_new_inode()
154 ubifs_warn(c, "running out of inode numbers (current %lu, max %u)", in ubifs_new_inode()
155 (unsigned long)c->highest_inum, INUM_WATERMARK); in ubifs_new_inode()
158 inode->i_ino = ++c->highest_inum; in ubifs_new_inode()
166 ui->creat_sqnum = ++c->max_sqnum; in ubifs_new_inode()
167 spin_unlock(&c->cnt_lock); in ubifs_new_inode()
171 static int dbg_check_name(const struct ubifs_info *c, in dbg_check_name() argument
175 if (!dbg_is_chk_gen(c)) in dbg_check_name()
191 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_lookup() local
202 dent_key_init(c, &key, dir->i_ino, &dentry->d_name); in ubifs_lookup()
204 err = ubifs_tnc_lookup_nm(c, &key, dent, &dentry->d_name); in ubifs_lookup()
213 if (dbg_check_name(c, dent, &dentry->d_name)) { in ubifs_lookup()
225 ubifs_err(c, "dead directory entry '%pd', error %d", in ubifs_lookup()
227 ubifs_ro_mode(c, err); in ubifs_lookup()
249 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_create() local
263 err = ubifs_budget_space(c, &req); in ubifs_create()
267 inode = ubifs_new_inode(c, dir, mode); in ubifs_create()
281 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_create()
286 ubifs_release_budget(c, &req); in ubifs_create()
299 ubifs_release_budget(c, &req); in ubifs_create()
300 ubifs_err(c, "cannot create regular file, error %d", err); in ubifs_create()
358 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_readdir() local
394 lowest_dent_key(c, &key, dir->i_ino); in ubifs_readdir()
396 dent = ubifs_tnc_next_ent(c, &key, &nm); in ubifs_readdir()
402 ctx->pos = key_hash_flash(c, &dent->key); in ubifs_readdir()
412 dent_key_init_hash(c, &key, dir->i_ino, ctx->pos); in ubifs_readdir()
414 dent = ubifs_tnc_next_ent(c, &key, &nm); in ubifs_readdir()
419 ctx->pos = key_hash_flash(c, &dent->key); in ubifs_readdir()
426 key_hash_flash(c, &dent->key)); in ubifs_readdir()
437 key_read(c, &dent->key, &key); in ubifs_readdir()
439 dent = ubifs_tnc_next_ent(c, &key, &nm); in ubifs_readdir()
446 ctx->pos = key_hash_flash(c, &dent->key); in ubifs_readdir()
453 ubifs_err(c, "cannot find next direntry, error %d", err); in ubifs_readdir()
501 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_link() local
520 err = dbg_check_synced_i_size(c, inode); in ubifs_link()
524 err = ubifs_budget_space(c, &req); in ubifs_link()
535 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_link()
540 ubifs_release_budget(c, &req); in ubifs_link()
549 ubifs_release_budget(c, &req); in ubifs_link()
556 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_unlink() local
576 err = dbg_check_synced_i_size(c, inode); in ubifs_unlink()
580 err = ubifs_budget_space(c, &req); in ubifs_unlink()
593 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0); in ubifs_unlink()
599 ubifs_release_budget(c, &req); in ubifs_unlink()
602 c->bi.nospace = c->bi.nospace_rp = 0; in ubifs_unlink()
613 ubifs_release_budget(c, &req); in ubifs_unlink()
626 static int check_dir_empty(struct ubifs_info *c, struct inode *dir) in check_dir_empty() argument
633 lowest_dent_key(c, &key, dir->i_ino); in check_dir_empty()
634 dent = ubifs_tnc_next_ent(c, &key, &nm); in check_dir_empty()
648 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_rmdir() local
665 err = check_dir_empty(c, d_inode(dentry)); in ubifs_rmdir()
669 err = ubifs_budget_space(c, &req); in ubifs_rmdir()
683 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0); in ubifs_rmdir()
689 ubifs_release_budget(c, &req); in ubifs_rmdir()
692 c->bi.nospace = c->bi.nospace_rp = 0; in ubifs_rmdir()
704 ubifs_release_budget(c, &req); in ubifs_rmdir()
712 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_mkdir() local
724 err = ubifs_budget_space(c, &req); in ubifs_mkdir()
728 inode = ubifs_new_inode(c, dir, S_IFDIR | mode); in ubifs_mkdir()
745 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_mkdir()
747 ubifs_err(c, "cannot create directory, error %d", err); in ubifs_mkdir()
752 ubifs_release_budget(c, &req); in ubifs_mkdir()
765 ubifs_release_budget(c, &req); in ubifs_mkdir()
775 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_mknod() local
800 err = ubifs_budget_space(c, &req); in ubifs_mknod()
806 inode = ubifs_new_inode(c, dir, mode); in ubifs_mknod()
827 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_mknod()
832 ubifs_release_budget(c, &req); in ubifs_mknod()
845 ubifs_release_budget(c, &req); in ubifs_mknod()
855 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_symlink() local
873 err = ubifs_budget_space(c, &req); in ubifs_symlink()
877 inode = ubifs_new_inode(c, dir, S_IFLNK | S_IRWXUGO); in ubifs_symlink()
908 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_symlink()
913 ubifs_release_budget(c, &req); in ubifs_symlink()
926 ubifs_release_budget(c, &req); in ubifs_symlink()
972 struct ubifs_info *c = old_dir->i_sb->s_fs_info; in ubifs_rename() local
1007 err = check_dir_empty(c, new_inode); in ubifs_rename()
1012 err = ubifs_budget_space(c, &req); in ubifs_rename()
1015 err = ubifs_budget_space(c, &ino_req); in ubifs_rename()
1017 ubifs_release_budget(c, &req); in ubifs_rename()
1091 err = ubifs_jnl_rename(c, old_dir, old_dentry, new_dir, new_dentry, in ubifs_rename()
1097 ubifs_release_budget(c, &req); in ubifs_rename()
1105 ubifs_release_budget(c, &ino_req); in ubifs_rename()
1130 ubifs_release_budget(c, &ino_req); in ubifs_rename()
1131 ubifs_release_budget(c, &req); in ubifs_rename()