Lines Matching refs:fname
80 struct f2fs_filename *fname) in f2fs_init_casefolded_name() argument
86 fname->cf_name.name = f2fs_kmem_cache_alloc(f2fs_cf_name_slab, in f2fs_init_casefolded_name()
88 if (!fname->cf_name.name) in f2fs_init_casefolded_name()
90 fname->cf_name.len = utf8_casefold(sb->s_encoding, in f2fs_init_casefolded_name()
91 fname->usr_fname, in f2fs_init_casefolded_name()
92 fname->cf_name.name, in f2fs_init_casefolded_name()
94 if ((int)fname->cf_name.len <= 0) { in f2fs_init_casefolded_name()
95 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name); in f2fs_init_casefolded_name()
96 fname->cf_name.name = NULL; in f2fs_init_casefolded_name()
108 struct f2fs_filename *fname) in __f2fs_setup_filename() argument
112 memset(fname, 0, sizeof(*fname)); in __f2fs_setup_filename()
114 fname->usr_fname = crypt_name->usr_fname; in __f2fs_setup_filename()
115 fname->disk_name = crypt_name->disk_name; in __f2fs_setup_filename()
117 fname->crypto_buf = crypt_name->crypto_buf; in __f2fs_setup_filename()
121 fname->hash = cpu_to_le32(crypt_name->hash); in __f2fs_setup_filename()
123 err = f2fs_init_casefolded_name(dir, fname); in __f2fs_setup_filename()
125 f2fs_free_filename(fname); in __f2fs_setup_filename()
128 f2fs_hash_filename(dir, fname); in __f2fs_setup_filename()
140 int lookup, struct f2fs_filename *fname) in f2fs_setup_filename() argument
149 return __f2fs_setup_filename(dir, &crypt_name, fname); in f2fs_setup_filename()
159 struct f2fs_filename *fname) in f2fs_prepare_lookup() argument
168 return __f2fs_setup_filename(dir, &crypt_name, fname); in f2fs_prepare_lookup()
171 void f2fs_free_filename(struct f2fs_filename *fname) in f2fs_free_filename() argument
174 kfree(fname->crypto_buf.name); in f2fs_free_filename()
175 fname->crypto_buf.name = NULL; in f2fs_free_filename()
178 if (fname->cf_name.name) { in f2fs_free_filename()
179 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name); in f2fs_free_filename()
180 fname->cf_name.name = NULL; in f2fs_free_filename()
199 const struct f2fs_filename *fname, in find_in_block() argument
208 return f2fs_find_target_dentry(&d, fname, max_slots); in find_in_block()
264 const struct f2fs_filename *fname, in f2fs_match_name() argument
270 if (fname->cf_name.name) { in f2fs_match_name()
271 struct qstr cf = FSTR_TO_QSTR(&fname->cf_name); in f2fs_match_name()
276 f.usr_fname = fname->usr_fname; in f2fs_match_name()
277 f.disk_name = fname->disk_name; in f2fs_match_name()
279 f.crypto_buf = fname->crypto_buf; in f2fs_match_name()
285 const struct f2fs_filename *fname, int *max_slots) in f2fs_find_target_dentry() argument
308 if (de->hash_code == fname->hash) { in f2fs_find_target_dentry()
309 res = f2fs_match_name(d->inode, fname, in f2fs_find_target_dentry()
334 const struct f2fs_filename *fname, in find_in_level() argument
337 int s = GET_DENTRY_SLOTS(fname->disk_name.len); in find_in_level()
349 le32_to_cpu(fname->hash) % nbucket); in find_in_level()
365 de = find_in_block(dir, dentry_page, fname, &max_slots); in find_in_level()
380 if (!de && room && F2FS_I(dir)->chash != fname->hash) { in find_in_level()
381 F2FS_I(dir)->chash = fname->hash; in find_in_level()
389 const struct f2fs_filename *fname, in __f2fs_find_entry() argument
400 de = f2fs_find_in_inline_dir(dir, fname, res_page); in __f2fs_find_entry()
416 de = find_in_level(dir, level, fname, res_page); in __f2fs_find_entry()
437 struct f2fs_filename fname; in f2fs_find_entry() local
440 err = f2fs_setup_filename(dir, child, 1, &fname); in f2fs_find_entry()
449 de = __f2fs_find_entry(dir, &fname, res_page); in f2fs_find_entry()
451 f2fs_free_filename(&fname); in f2fs_find_entry()
492 const struct f2fs_filename *fname, in init_dent_inode() argument
497 if (!fname) /* tmpfile case? */ in init_dent_inode()
504 ri->i_namelen = cpu_to_le32(fname->disk_name.len); in init_dent_inode()
505 memcpy(ri->i_name, fname->disk_name.name, fname->disk_name.len); in init_dent_inode()
516 if (fname->disk_name.len + sizeof(f2fs_hash_t) <= in init_dent_inode()
518 put_unaligned(fname->hash, (f2fs_hash_t *) in init_dent_inode()
519 &ri->i_name[fname->disk_name.len]); in init_dent_inode()
565 const struct f2fs_filename *fname, struct page *dpage) in f2fs_init_inode_metadata() argument
591 fname ? fname->usr_fname : NULL, page); in f2fs_init_inode_metadata()
606 init_dent_inode(dir, inode, fname, page); in f2fs_init_inode_metadata()
671 const struct f2fs_filename *fname) in f2fs_has_enough_room() argument
675 int slots = GET_DENTRY_SLOTS(fname->disk_name.len); in f2fs_has_enough_room()
706 int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname, in f2fs_add_regular_entry() argument
721 slots = GET_DENTRY_SLOTS(fname->disk_name.len); in f2fs_add_regular_entry()
724 if (F2FS_I(dir)->chash == fname->hash) { in f2fs_add_regular_entry()
746 (le32_to_cpu(fname->hash) % nbucket)); in f2fs_add_regular_entry()
770 page = f2fs_init_inode_metadata(inode, dir, fname, NULL); in f2fs_add_regular_entry()
778 f2fs_update_dentry(ino, mode, &d, &fname->disk_name, fname->hash, in f2fs_add_regular_entry()
803 int f2fs_add_dentry(struct inode *dir, const struct f2fs_filename *fname, in f2fs_add_dentry() argument
809 err = f2fs_add_inline_entry(dir, fname, inode, ino, mode); in f2fs_add_dentry()
811 err = f2fs_add_regular_entry(dir, fname, inode, ino, mode); in f2fs_add_dentry()
824 struct f2fs_filename fname; in f2fs_do_add_link() local
829 err = f2fs_setup_filename(dir, name, 0, &fname); in f2fs_do_add_link()
841 de = __f2fs_find_entry(dir, &fname, &page); in f2fs_do_add_link()
850 err = f2fs_add_dentry(dir, &fname, inode, ino, mode); in f2fs_do_add_link()
852 f2fs_free_filename(&fname); in f2fs_do_add_link()