Lines Matching refs:dir

117 static int msdos_find(struct inode *dir, const unsigned char *name, int len,  in msdos_find()  argument
120 struct msdos_sb_info *sbi = MSDOS_SB(dir->i_sb); in msdos_find()
128 err = fat_scan(dir, msdos_name, sinfo); in msdos_find()
199 static struct dentry *msdos_lookup(struct inode *dir, struct dentry *dentry, in msdos_lookup() argument
202 struct super_block *sb = dir->i_sb; in msdos_lookup()
208 err = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); in msdos_lookup()
225 static int msdos_add_entry(struct inode *dir, const unsigned char *name, in msdos_add_entry() argument
229 struct msdos_sb_info *sbi = MSDOS_SB(dir->i_sb); in msdos_add_entry()
248 err = fat_add_entries(dir, &de, 1, sinfo); in msdos_add_entry()
252 dir->i_ctime = dir->i_mtime = *ts; in msdos_add_entry()
253 if (IS_DIRSYNC(dir)) in msdos_add_entry()
254 (void)fat_sync_inode(dir); in msdos_add_entry()
256 mark_inode_dirty(dir); in msdos_add_entry()
262 static int msdos_create(struct inode *dir, struct dentry *dentry, umode_t mode, in msdos_create() argument
265 struct super_block *sb = dir->i_sb; in msdos_create()
280 if (!fat_scan(dir, msdos_name, &sinfo)) { in msdos_create()
287 err = msdos_add_entry(dir, msdos_name, 0, is_hid, 0, &ts, &sinfo); in msdos_create()
303 err = fat_flush_inodes(sb, dir, inode); in msdos_create()
308 static int msdos_rmdir(struct inode *dir, struct dentry *dentry) in msdos_rmdir() argument
310 struct super_block *sb = dir->i_sb; in msdos_rmdir()
323 err = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); in msdos_rmdir()
327 err = fat_remove_entries(dir, &sinfo); /* and releases bh */ in msdos_rmdir()
330 drop_nlink(dir); in msdos_rmdir()
338 err = fat_flush_inodes(sb, dir, inode); in msdos_rmdir()
344 static int msdos_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in msdos_mkdir() argument
346 struct super_block *sb = dir->i_sb; in msdos_mkdir()
361 if (!fat_scan(dir, msdos_name, &sinfo)) { in msdos_mkdir()
368 cluster = fat_alloc_new_dir(dir, &ts); in msdos_mkdir()
373 err = msdos_add_entry(dir, msdos_name, 1, is_hid, cluster, &ts, &sinfo); in msdos_mkdir()
376 inc_nlink(dir); in msdos_mkdir()
392 fat_flush_inodes(sb, dir, inode); in msdos_mkdir()
396 fat_free_clusters(dir, cluster); in msdos_mkdir()
403 static int msdos_unlink(struct inode *dir, struct dentry *dentry) in msdos_unlink() argument
411 err = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); in msdos_unlink()
415 err = fat_remove_entries(dir, &sinfo); /* and releases bh */ in msdos_unlink()
424 err = fat_flush_inodes(sb, dir, inode); in msdos_unlink()