Lines Matching refs:dir

223 static void hfsplus_subfolders_inc(struct inode *dir)  in hfsplus_subfolders_inc()  argument
225 struct hfsplus_sb_info *sbi = HFSPLUS_SB(dir->i_sb); in hfsplus_subfolders_inc()
232 HFSPLUS_I(dir)->subfolders++; in hfsplus_subfolders_inc()
236 static void hfsplus_subfolders_dec(struct inode *dir) in hfsplus_subfolders_dec() argument
238 struct hfsplus_sb_info *sbi = HFSPLUS_SB(dir->i_sb); in hfsplus_subfolders_dec()
248 if (HFSPLUS_I(dir)->subfolders) in hfsplus_subfolders_dec()
249 HFSPLUS_I(dir)->subfolders--; in hfsplus_subfolders_dec()
253 int hfsplus_create_cat(u32 cnid, struct inode *dir, in hfsplus_create_cat() argument
256 struct super_block *sb = dir->i_sb; in hfsplus_create_cat()
280 dir->i_ino, str); in hfsplus_create_cat()
296 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_create_cat()
312 dir->i_size++; in hfsplus_create_cat()
314 hfsplus_subfolders_inc(dir); in hfsplus_create_cat()
315 dir->i_mtime = inode_set_ctime_current(dir); in hfsplus_create_cat()
316 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); in hfsplus_create_cat()
330 int hfsplus_delete_cat(u32 cnid, struct inode *dir, const struct qstr *str) in hfsplus_delete_cat() argument
332 struct super_block *sb = dir->i_sb; in hfsplus_delete_cat()
362 fd.search_key->cat.parent = cpu_to_be32(dir->i_ino); in hfsplus_delete_cat()
371 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_delete_cat()
395 spin_lock(&HFSPLUS_I(dir)->open_dir_lock); in hfsplus_delete_cat()
396 list_for_each(pos, &HFSPLUS_I(dir)->open_dir_list) { in hfsplus_delete_cat()
402 spin_unlock(&HFSPLUS_I(dir)->open_dir_lock); in hfsplus_delete_cat()
417 dir->i_size--; in hfsplus_delete_cat()
419 hfsplus_subfolders_dec(dir); in hfsplus_delete_cat()
420 dir->i_mtime = inode_set_ctime_current(dir); in hfsplus_delete_cat()
421 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); in hfsplus_delete_cat()
425 hfsplus_delete_all_attrs(dir, cnid); in hfsplus_delete_cat()