Lines Matching refs:fname

45 /* If @dir is casefolded, initialize @fname->cf_name from @fname->usr_fname. */
47 struct f2fs_filename *fname)
53 !is_dot_dotdot(fname->usr_fname->name, fname->usr_fname->len)) {
54 fname->cf_name.name = f2fs_kmem_cache_alloc(f2fs_cf_name_slab,
56 if (!fname->cf_name.name)
58 fname->cf_name.len = utf8_casefold(sb->s_encoding,
59 fname->usr_fname,
60 fname->cf_name.name,
62 if ((int)fname->cf_name.len <= 0) {
63 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name);
64 fname->cf_name.name = NULL;
76 struct f2fs_filename *fname)
80 memset(fname, 0, sizeof(*fname));
82 fname->usr_fname = crypt_name->usr_fname;
83 fname->disk_name = crypt_name->disk_name;
85 fname->crypto_buf = crypt_name->crypto_buf;
89 fname->hash = cpu_to_le32(crypt_name->hash);
91 err = f2fs_init_casefolded_name(dir, fname);
93 f2fs_free_filename(fname);
96 f2fs_hash_filename(dir, fname);
108 int lookup, struct f2fs_filename *fname)
117 return __f2fs_setup_filename(dir, &crypt_name, fname);
127 struct f2fs_filename *fname)
136 return __f2fs_setup_filename(dir, &crypt_name, fname);
139 void f2fs_free_filename(struct f2fs_filename *fname)
142 kfree(fname->crypto_buf.name);
143 fname->crypto_buf.name = NULL;
146 if (fname->cf_name.name) {
147 kmem_cache_free(f2fs_cf_name_slab, fname->cf_name.name);
148 fname->cf_name.name = NULL;
167 const struct f2fs_filename *fname,
176 return f2fs_find_target_dentry(&d, fname, max_slots);
232 const struct f2fs_filename *fname,
238 if (fname->cf_name.name) {
239 struct qstr cf = FSTR_TO_QSTR(&fname->cf_name);
244 f.usr_fname = fname->usr_fname;
245 f.disk_name = fname->disk_name;
247 f.crypto_buf = fname->crypto_buf;
253 const struct f2fs_filename *fname, int *max_slots)
276 if (de->hash_code == fname->hash) {
277 res = f2fs_match_name(d->inode, fname,
302 const struct f2fs_filename *fname,
305 int s = GET_DENTRY_SLOTS(fname->disk_name.len);
318 le32_to_cpu(fname->hash) % nbucket);
335 de = find_in_block(dir, dentry_page, fname, &max_slots);
352 if (!de && room && F2FS_I(dir)->chash != fname->hash) {
353 F2FS_I(dir)->chash = fname->hash;
361 const struct f2fs_filename *fname,
372 de = f2fs_find_in_inline_dir(dir, fname, res_page);
388 de = find_in_level(dir, level, fname, res_page);
409 struct f2fs_filename fname;
412 err = f2fs_setup_filename(dir, child, 1, &fname);
421 de = __f2fs_find_entry(dir, &fname, res_page);
423 f2fs_free_filename(&fname);
464 const struct f2fs_filename *fname,
469 if (!fname) /* tmpfile case? */
476 ri->i_namelen = cpu_to_le32(fname->disk_name.len);
477 memcpy(ri->i_name, fname->disk_name.name, fname->disk_name.len);
488 if (fname->disk_name.len + sizeof(f2fs_hash_t) <=
490 put_unaligned(fname->hash, (f2fs_hash_t *)
491 &ri->i_name[fname->disk_name.len]);
537 const struct f2fs_filename *fname, struct page *dpage)
563 fname ? fname->usr_fname : NULL, page);
578 init_dent_inode(dir, inode, fname, page);
643 const struct f2fs_filename *fname)
647 int slots = GET_DENTRY_SLOTS(fname->disk_name.len);
678 int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname,
693 slots = GET_DENTRY_SLOTS(fname->disk_name.len);
696 if (F2FS_I(dir)->chash == fname->hash) {
716 (le32_to_cpu(fname->hash) % nbucket));
740 page = f2fs_init_inode_metadata(inode, dir, fname, NULL);
748 f2fs_update_dentry(ino, mode, &d, &fname->disk_name, fname->hash,
773 int f2fs_add_dentry(struct inode *dir, const struct f2fs_filename *fname,
784 err = f2fs_add_inline_entry(dir, fname, inode, ino, mode);
788 err = f2fs_add_regular_entry(dir, fname, inode, ino, mode);
801 struct f2fs_filename fname;
806 err = f2fs_setup_filename(dir, name, 0, &fname);
818 de = __f2fs_find_entry(dir, &fname, &page);
827 err = f2fs_add_dentry(dir, &fname, inode, ino, mode);
829 f2fs_free_filename(&fname);
834 struct f2fs_filename *fname)
840 page = f2fs_init_inode_metadata(inode, dir, fname, NULL);