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()
456 ubifs_err(c, "cannot find next direntry, error %d", err); in ubifs_readdir()
502 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_link() local
521 err = dbg_check_synced_i_size(c, inode); in ubifs_link()
525 err = ubifs_budget_space(c, &req); in ubifs_link()
536 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_link()
541 ubifs_release_budget(c, &req); in ubifs_link()
550 ubifs_release_budget(c, &req); in ubifs_link()
557 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_unlink() local
577 err = dbg_check_synced_i_size(c, inode); in ubifs_unlink()
581 err = ubifs_budget_space(c, &req); in ubifs_unlink()
594 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0); in ubifs_unlink()
600 ubifs_release_budget(c, &req); in ubifs_unlink()
603 c->bi.nospace = c->bi.nospace_rp = 0; in ubifs_unlink()
614 ubifs_release_budget(c, &req); in ubifs_unlink()
627 static int check_dir_empty(struct ubifs_info *c, struct inode *dir) in check_dir_empty() argument
634 lowest_dent_key(c, &key, dir->i_ino); in check_dir_empty()
635 dent = ubifs_tnc_next_ent(c, &key, &nm); in check_dir_empty()
649 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_rmdir() local
666 err = check_dir_empty(c, d_inode(dentry)); in ubifs_rmdir()
670 err = ubifs_budget_space(c, &req); in ubifs_rmdir()
684 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0); in ubifs_rmdir()
690 ubifs_release_budget(c, &req); in ubifs_rmdir()
693 c->bi.nospace = c->bi.nospace_rp = 0; in ubifs_rmdir()
705 ubifs_release_budget(c, &req); in ubifs_rmdir()
713 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_mkdir() local
725 err = ubifs_budget_space(c, &req); in ubifs_mkdir()
729 inode = ubifs_new_inode(c, dir, S_IFDIR | mode); in ubifs_mkdir()
746 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_mkdir()
748 ubifs_err(c, "cannot create directory, error %d", err); in ubifs_mkdir()
753 ubifs_release_budget(c, &req); in ubifs_mkdir()
766 ubifs_release_budget(c, &req); in ubifs_mkdir()
776 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_mknod() local
798 err = ubifs_budget_space(c, &req); in ubifs_mknod()
804 inode = ubifs_new_inode(c, dir, mode); in ubifs_mknod()
825 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_mknod()
830 ubifs_release_budget(c, &req); in ubifs_mknod()
843 ubifs_release_budget(c, &req); in ubifs_mknod()
853 struct ubifs_info *c = dir->i_sb->s_fs_info; in ubifs_symlink() local
871 err = ubifs_budget_space(c, &req); in ubifs_symlink()
875 inode = ubifs_new_inode(c, dir, S_IFLNK | S_IRWXUGO); in ubifs_symlink()
907 err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0); in ubifs_symlink()
912 ubifs_release_budget(c, &req); in ubifs_symlink()
925 ubifs_release_budget(c, &req); in ubifs_symlink()
971 struct ubifs_info *c = old_dir->i_sb->s_fs_info; in ubifs_rename() local
1006 err = check_dir_empty(c, new_inode); in ubifs_rename()
1011 err = ubifs_budget_space(c, &req); in ubifs_rename()
1014 err = ubifs_budget_space(c, &ino_req); in ubifs_rename()
1016 ubifs_release_budget(c, &req); in ubifs_rename()
1090 err = ubifs_jnl_rename(c, old_dir, old_dentry, new_dir, new_dentry, in ubifs_rename()
1096 ubifs_release_budget(c, &req); in ubifs_rename()
1104 ubifs_release_budget(c, &ino_req); in ubifs_rename()
1129 ubifs_release_budget(c, &ino_req); in ubifs_rename()
1130 ubifs_release_budget(c, &req); in ubifs_rename()