Lines Matching refs:fname
73 /* If @dir is casefolded, initialize @fname->cf_name from @fname->usr_fname. */
75 struct f2fs_filename *fname)
82 fname->cf_name.name = f2fs_kmalloc(sbi, F2FS_NAME_LEN,
84 if (!fname->cf_name.name)
86 fname->cf_name.len = utf8_casefold(sb->s_encoding,
87 fname->usr_fname,
88 fname->cf_name.name,
90 if ((int)fname->cf_name.len <= 0) {
91 kfree(fname->cf_name.name);
92 fname->cf_name.name = NULL;
104 struct f2fs_filename *fname)
108 memset(fname, 0, sizeof(*fname));
110 fname->usr_fname = crypt_name->usr_fname;
111 fname->disk_name = crypt_name->disk_name;
113 fname->crypto_buf = crypt_name->crypto_buf;
117 fname->hash = cpu_to_le32(crypt_name->hash);
119 err = f2fs_init_casefolded_name(dir, fname);
121 f2fs_free_filename(fname);
124 f2fs_hash_filename(dir, fname);
136 int lookup, struct f2fs_filename *fname)
145 return __f2fs_setup_filename(dir, &crypt_name, fname);
155 struct f2fs_filename *fname)
164 return __f2fs_setup_filename(dir, &crypt_name, fname);
167 void f2fs_free_filename(struct f2fs_filename *fname)
170 kfree(fname->crypto_buf.name);
171 fname->crypto_buf.name = NULL;
174 kfree(fname->cf_name.name);
175 fname->cf_name.name = NULL;
193 const struct f2fs_filename *fname,
202 return f2fs_find_target_dentry(&d, fname, max_slots);
233 const struct f2fs_filename *fname,
239 if (fname->cf_name.name) {
240 struct qstr cf = FSTR_TO_QSTR(&fname->cf_name);
245 f.usr_fname = fname->usr_fname;
246 f.disk_name = fname->disk_name;
248 f.crypto_buf = fname->crypto_buf;
254 const struct f2fs_filename *fname, int *max_slots)
276 if (de->hash_code == fname->hash &&
277 f2fs_match_name(d->inode, fname, d->filename[bit_pos],
297 const struct f2fs_filename *fname,
300 int s = GET_DENTRY_SLOTS(fname->disk_name.len);
312 le32_to_cpu(fname->hash) % nbucket);
328 de = find_in_block(dir, dentry_page, fname, &max_slots);
339 if (!de && room && F2FS_I(dir)->chash != fname->hash) {
340 F2FS_I(dir)->chash = fname->hash;
348 const struct f2fs_filename *fname,
359 de = f2fs_find_in_inline_dir(dir, fname, res_page);
375 de = find_in_level(dir, level, fname, res_page);
396 struct f2fs_filename fname;
399 err = f2fs_setup_filename(dir, child, 1, &fname);
408 de = __f2fs_find_entry(dir, &fname, res_page);
410 f2fs_free_filename(&fname);
451 static void init_dent_inode(const struct f2fs_filename *fname,
460 ri->i_namelen = cpu_to_le32(fname->disk_name.len);
461 memcpy(ri->i_name, fname->disk_name.name, fname->disk_name.len);
503 const struct f2fs_filename *fname, struct page *dpage)
529 fname ? fname->usr_fname : NULL, page);
544 if (fname) {
545 init_dent_inode(fname, page);
613 const struct f2fs_filename *fname)
617 int slots = GET_DENTRY_SLOTS(fname->disk_name.len);
648 int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname,
663 slots = GET_DENTRY_SLOTS(fname->disk_name.len);
666 if (F2FS_I(dir)->chash == fname->hash) {
688 (le32_to_cpu(fname->hash) % nbucket));
712 page = f2fs_init_inode_metadata(inode, dir, fname, NULL);
720 f2fs_update_dentry(ino, mode, &d, &fname->disk_name, fname->hash,
745 int f2fs_add_dentry(struct inode *dir, const struct f2fs_filename *fname,
751 err = f2fs_add_inline_entry(dir, fname, inode, ino, mode);
753 err = f2fs_add_regular_entry(dir, fname, inode, ino, mode);
766 struct f2fs_filename fname;
771 err = f2fs_setup_filename(dir, name, 0, &fname);
783 de = __f2fs_find_entry(dir, &fname, &page);
792 err = f2fs_add_dentry(dir, &fname, inode, ino, mode);
794 f2fs_free_filename(&fname);