Lines Matching refs:dir

11 static void hpfs_update_directory_times(struct inode *dir)  in hpfs_update_directory_times()  argument
14 if (t == dir->i_mtime.tv_sec && in hpfs_update_directory_times()
15 t == dir->i_ctime.tv_sec) in hpfs_update_directory_times()
17 dir->i_mtime.tv_sec = dir->i_ctime.tv_sec = t; in hpfs_update_directory_times()
18 dir->i_mtime.tv_nsec = dir->i_ctime.tv_nsec = 0; in hpfs_update_directory_times()
19 hpfs_write_inode_nolock(dir); in hpfs_update_directory_times()
22 static int hpfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in hpfs_mkdir() argument
38 hpfs_lock(dir->i_sb); in hpfs_mkdir()
40 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_mkdir()
43 dnode = hpfs_alloc_dnode(dir->i_sb, fno, &dno, &qbh0); in hpfs_mkdir()
52 …dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(gmt_to_local(dir->i_sb, get_secon… in hpfs_mkdir()
53 result = new_inode(dir->i_sb); in hpfs_mkdir()
58 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_mkdir()
60 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_mkdir()
74 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_mkdir()
83 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_mkdir()
92 de = hpfs_add_de(dir->i_sb, dnode, "\001\001", 2, 0); in hpfs_mkdir()
93 …de->creation_date = de->write_date = de->read_date = cpu_to_le32(gmt_to_local(dir->i_sb, get_secon… in hpfs_mkdir()
102 inc_nlink(dir); in hpfs_mkdir()
113 hpfs_update_directory_times(dir); in hpfs_mkdir()
115 hpfs_unlock(dir->i_sb); in hpfs_mkdir()
121 hpfs_free_dnode(dir->i_sb, dno); in hpfs_mkdir()
124 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_mkdir()
126 hpfs_unlock(dir->i_sb); in hpfs_mkdir()
130 static int hpfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, bool excl) in hpfs_create() argument
143 hpfs_lock(dir->i_sb); in hpfs_create()
145 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_create()
153 …dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(gmt_to_local(dir->i_sb, get_secon… in hpfs_create()
155 result = new_inode(dir->i_sb); in hpfs_create()
166 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_create()
167 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_create()
179 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_create()
188 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_create()
202 hpfs_update_directory_times(dir); in hpfs_create()
204 hpfs_unlock(dir->i_sb); in hpfs_create()
211 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_create()
213 hpfs_unlock(dir->i_sb); in hpfs_create()
217 static int hpfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) in hpfs_mknod() argument
229 if (hpfs_sb(dir->i_sb)->sb_eas < 2) return -EPERM; in hpfs_mknod()
230 hpfs_lock(dir->i_sb); in hpfs_mknod()
232 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_mknod()
240 …dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(gmt_to_local(dir->i_sb, get_secon… in hpfs_mknod()
242 result = new_inode(dir->i_sb); in hpfs_mknod()
248 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_mknod()
249 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_mknod()
261 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_mknod()
270 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_mknod()
276 hpfs_update_directory_times(dir); in hpfs_mknod()
279 hpfs_unlock(dir->i_sb); in hpfs_mknod()
285 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_mknod()
287 hpfs_unlock(dir->i_sb); in hpfs_mknod()
291 static int hpfs_symlink(struct inode *dir, struct dentry *dentry, const char *symlink) in hpfs_symlink() argument
303 hpfs_lock(dir->i_sb); in hpfs_symlink()
304 if (hpfs_sb(dir->i_sb)->sb_eas < 2) { in hpfs_symlink()
305 hpfs_unlock(dir->i_sb); in hpfs_symlink()
309 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_symlink()
316 …dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(gmt_to_local(dir->i_sb, get_secon… in hpfs_symlink()
318 result = new_inode(dir->i_sb); in hpfs_symlink()
323 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_symlink()
324 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_symlink()
338 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_symlink()
347 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_symlink()
355 hpfs_update_directory_times(dir); in hpfs_symlink()
357 hpfs_unlock(dir->i_sb); in hpfs_symlink()
363 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_symlink()
365 hpfs_unlock(dir->i_sb); in hpfs_symlink()
369 static int hpfs_unlink(struct inode *dir, struct dentry *dentry) in hpfs_unlink() argument
380 hpfs_lock(dir->i_sb); in hpfs_unlink()
384 de = map_dirent(dir, hpfs_i(dir)->i_dno, name, len, &dno, &qbh); in hpfs_unlink()
396 r = hpfs_remove_dirent(dir, dno, de, &qbh, 1); in hpfs_unlink()
399 hpfs_error(dir->i_sb, "there was error when removing dirent"); in hpfs_unlink()
415 hpfs_update_directory_times(dir); in hpfs_unlink()
416 hpfs_unlock(dir->i_sb); in hpfs_unlink()
420 static int hpfs_rmdir(struct inode *dir, struct dentry *dentry) in hpfs_rmdir() argument
433 hpfs_lock(dir->i_sb); in hpfs_rmdir()
435 de = map_dirent(dir, hpfs_i(dir)->i_dno, name, len, &dno, &qbh); in hpfs_rmdir()
447 hpfs_count_dnodes(dir->i_sb, hpfs_i(inode)->i_dno, NULL, NULL, &n_items); in hpfs_rmdir()
452 r = hpfs_remove_dirent(dir, dno, de, &qbh, 1); in hpfs_rmdir()
455 hpfs_error(dir->i_sb, "there was error when removing dirent"); in hpfs_rmdir()
462 drop_nlink(dir); in hpfs_rmdir()
471 hpfs_update_directory_times(dir); in hpfs_rmdir()
472 hpfs_unlock(dir->i_sb); in hpfs_rmdir()