Lines Matching refs:fname

80 			      struct f2fs_filename *fname)  in f2fs_init_casefolded_name()  argument
86 !is_dot_dotdot(fname->usr_fname->name, fname->usr_fname->len)) { in f2fs_init_casefolded_name()
87 fname->cf_name.name = f2fs_kmem_cache_alloc(f2fs_cf_name_slab, in f2fs_init_casefolded_name()
89 if (!fname->cf_name.name) in f2fs_init_casefolded_name()
91 fname->cf_name.len = utf8_casefold(sb->s_encoding, in f2fs_init_casefolded_name()
92 fname->usr_fname, in f2fs_init_casefolded_name()
93 fname->cf_name.name, in f2fs_init_casefolded_name()
95 if ((int)fname->cf_name.len <= 0) { in f2fs_init_casefolded_name()
96 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name); in f2fs_init_casefolded_name()
97 fname->cf_name.name = NULL; in f2fs_init_casefolded_name()
109 struct f2fs_filename *fname) in __f2fs_setup_filename() argument
113 memset(fname, 0, sizeof(*fname)); in __f2fs_setup_filename()
115 fname->usr_fname = crypt_name->usr_fname; in __f2fs_setup_filename()
116 fname->disk_name = crypt_name->disk_name; in __f2fs_setup_filename()
118 fname->crypto_buf = crypt_name->crypto_buf; in __f2fs_setup_filename()
122 fname->hash = cpu_to_le32(crypt_name->hash); in __f2fs_setup_filename()
124 err = f2fs_init_casefolded_name(dir, fname); in __f2fs_setup_filename()
126 f2fs_free_filename(fname); in __f2fs_setup_filename()
129 f2fs_hash_filename(dir, fname); in __f2fs_setup_filename()
141 int lookup, struct f2fs_filename *fname) in f2fs_setup_filename() argument
150 return __f2fs_setup_filename(dir, &crypt_name, fname); in f2fs_setup_filename()
160 struct f2fs_filename *fname) in f2fs_prepare_lookup() argument
169 return __f2fs_setup_filename(dir, &crypt_name, fname); in f2fs_prepare_lookup()
172 void f2fs_free_filename(struct f2fs_filename *fname) in f2fs_free_filename() argument
175 kfree(fname->crypto_buf.name); in f2fs_free_filename()
176 fname->crypto_buf.name = NULL; in f2fs_free_filename()
179 if (fname->cf_name.name) { in f2fs_free_filename()
180 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name); in f2fs_free_filename()
181 fname->cf_name.name = NULL; in f2fs_free_filename()
200 const struct f2fs_filename *fname, in find_in_block() argument
209 return f2fs_find_target_dentry(&d, fname, max_slots); in find_in_block()
265 const struct f2fs_filename *fname, in f2fs_match_name() argument
271 if (fname->cf_name.name) { in f2fs_match_name()
272 struct qstr cf = FSTR_TO_QSTR(&fname->cf_name); in f2fs_match_name()
277 f.usr_fname = fname->usr_fname; in f2fs_match_name()
278 f.disk_name = fname->disk_name; in f2fs_match_name()
280 f.crypto_buf = fname->crypto_buf; in f2fs_match_name()
286 const struct f2fs_filename *fname, int *max_slots) in f2fs_find_target_dentry() argument
309 if (de->hash_code == fname->hash) { in f2fs_find_target_dentry()
310 res = f2fs_match_name(d->inode, fname, in f2fs_find_target_dentry()
335 const struct f2fs_filename *fname, in find_in_level() argument
338 int s = GET_DENTRY_SLOTS(fname->disk_name.len); in find_in_level()
351 le32_to_cpu(fname->hash) % nbucket); in find_in_level()
368 de = find_in_block(dir, dentry_page, fname, &max_slots); in find_in_level()
385 if (!de && room && F2FS_I(dir)->chash != fname->hash) { in find_in_level()
386 F2FS_I(dir)->chash = fname->hash; in find_in_level()
394 const struct f2fs_filename *fname, in __f2fs_find_entry() argument
405 de = f2fs_find_in_inline_dir(dir, fname, res_page); in __f2fs_find_entry()
421 de = find_in_level(dir, level, fname, res_page); in __f2fs_find_entry()
442 struct f2fs_filename fname; in f2fs_find_entry() local
445 err = f2fs_setup_filename(dir, child, 1, &fname); in f2fs_find_entry()
454 de = __f2fs_find_entry(dir, &fname, res_page); in f2fs_find_entry()
456 f2fs_free_filename(&fname); in f2fs_find_entry()
497 const struct f2fs_filename *fname, in init_dent_inode() argument
502 if (!fname) /* tmpfile case? */ in init_dent_inode()
509 ri->i_namelen = cpu_to_le32(fname->disk_name.len); in init_dent_inode()
510 memcpy(ri->i_name, fname->disk_name.name, fname->disk_name.len); in init_dent_inode()
521 if (fname->disk_name.len + sizeof(f2fs_hash_t) <= in init_dent_inode()
523 put_unaligned(fname->hash, (f2fs_hash_t *) in init_dent_inode()
524 &ri->i_name[fname->disk_name.len]); in init_dent_inode()
570 const struct f2fs_filename *fname, struct page *dpage) in f2fs_init_inode_metadata() argument
596 fname ? fname->usr_fname : NULL, page); in f2fs_init_inode_metadata()
611 init_dent_inode(dir, inode, fname, page); in f2fs_init_inode_metadata()
676 const struct f2fs_filename *fname) in f2fs_has_enough_room() argument
680 int slots = GET_DENTRY_SLOTS(fname->disk_name.len); in f2fs_has_enough_room()
711 int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname, in f2fs_add_regular_entry() argument
726 slots = GET_DENTRY_SLOTS(fname->disk_name.len); in f2fs_add_regular_entry()
729 if (F2FS_I(dir)->chash == fname->hash) { in f2fs_add_regular_entry()
749 (le32_to_cpu(fname->hash) % nbucket)); in f2fs_add_regular_entry()
773 page = f2fs_init_inode_metadata(inode, dir, fname, NULL); in f2fs_add_regular_entry()
781 f2fs_update_dentry(ino, mode, &d, &fname->disk_name, fname->hash, in f2fs_add_regular_entry()
806 int f2fs_add_dentry(struct inode *dir, const struct f2fs_filename *fname, in f2fs_add_dentry() argument
812 err = f2fs_add_inline_entry(dir, fname, inode, ino, mode); in f2fs_add_dentry()
814 err = f2fs_add_regular_entry(dir, fname, inode, ino, mode); in f2fs_add_dentry()
827 struct f2fs_filename fname; in f2fs_do_add_link() local
832 err = f2fs_setup_filename(dir, name, 0, &fname); in f2fs_do_add_link()
844 de = __f2fs_find_entry(dir, &fname, &page); in f2fs_do_add_link()
853 err = f2fs_add_dentry(dir, &fname, inode, ino, mode); in f2fs_do_add_link()
855 f2fs_free_filename(&fname); in f2fs_do_add_link()