Lines Matching refs:dir
222 static void hfsplus_subfolders_inc(struct inode *dir) in hfsplus_subfolders_inc() argument
224 struct hfsplus_sb_info *sbi = HFSPLUS_SB(dir->i_sb); in hfsplus_subfolders_inc()
231 HFSPLUS_I(dir)->subfolders++; in hfsplus_subfolders_inc()
235 static void hfsplus_subfolders_dec(struct inode *dir) in hfsplus_subfolders_dec() argument
237 struct hfsplus_sb_info *sbi = HFSPLUS_SB(dir->i_sb); in hfsplus_subfolders_dec()
247 if (HFSPLUS_I(dir)->subfolders) in hfsplus_subfolders_dec()
248 HFSPLUS_I(dir)->subfolders--; in hfsplus_subfolders_dec()
252 int hfsplus_create_cat(u32 cnid, struct inode *dir, in hfsplus_create_cat() argument
255 struct super_block *sb = dir->i_sb; in hfsplus_create_cat()
271 dir->i_ino, str); in hfsplus_create_cat()
287 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_create_cat()
303 dir->i_size++; in hfsplus_create_cat()
305 hfsplus_subfolders_inc(dir); in hfsplus_create_cat()
306 dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; in hfsplus_create_cat()
307 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); in hfsplus_create_cat()
321 int hfsplus_delete_cat(u32 cnid, struct inode *dir, struct qstr *str) in hfsplus_delete_cat() argument
323 struct super_block *sb = dir->i_sb; in hfsplus_delete_cat()
345 fd.search_key->cat.parent = cpu_to_be32(dir->i_ino); in hfsplus_delete_cat()
354 err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str); in hfsplus_delete_cat()
377 list_for_each(pos, &HFSPLUS_I(dir)->open_dir_list) { in hfsplus_delete_cat()
397 dir->i_size--; in hfsplus_delete_cat()
399 hfsplus_subfolders_dec(dir); in hfsplus_delete_cat()
400 dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC; in hfsplus_delete_cat()
401 hfsplus_mark_inode_dirty(dir, HFSPLUS_I_CAT_DIRTY); in hfsplus_delete_cat()
405 hfsplus_delete_all_attrs(dir, cnid); in hfsplus_delete_cat()