• Home
  • Raw
  • Download

Lines Matching refs:dir

12 static void hpfs_update_directory_times(struct inode *dir)  in hpfs_update_directory_times()  argument
14 time64_t t = local_to_gmt(dir->i_sb, local_get_seconds(dir->i_sb)); in hpfs_update_directory_times()
15 if (t == dir->i_mtime.tv_sec && in hpfs_update_directory_times()
16 t == dir->i_ctime.tv_sec) in hpfs_update_directory_times()
18 dir->i_mtime.tv_sec = dir->i_ctime.tv_sec = t; in hpfs_update_directory_times()
19 dir->i_mtime.tv_nsec = dir->i_ctime.tv_nsec = 0; in hpfs_update_directory_times()
20 hpfs_write_inode_nolock(dir); in hpfs_update_directory_times()
23 static int hpfs_mkdir(struct user_namespace *mnt_userns, struct inode *dir, in hpfs_mkdir() argument
40 hpfs_lock(dir->i_sb); in hpfs_mkdir()
42 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_mkdir()
45 dnode = hpfs_alloc_dnode(dir->i_sb, fno, &dno, &qbh0); in hpfs_mkdir()
54 dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(local_get_seconds(dir->i_sb)); in hpfs_mkdir()
55 result = new_inode(dir->i_sb); in hpfs_mkdir()
60 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_mkdir()
62 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_mkdir()
76 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_mkdir()
85 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_mkdir()
94 de = hpfs_add_de(dir->i_sb, dnode, "\001\001", 2, 0); in hpfs_mkdir()
95 de->creation_date = de->write_date = de->read_date = cpu_to_le32(local_get_seconds(dir->i_sb)); in hpfs_mkdir()
104 inc_nlink(dir); in hpfs_mkdir()
115 hpfs_update_directory_times(dir); in hpfs_mkdir()
117 hpfs_unlock(dir->i_sb); in hpfs_mkdir()
123 hpfs_free_dnode(dir->i_sb, dno); in hpfs_mkdir()
126 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_mkdir()
128 hpfs_unlock(dir->i_sb); in hpfs_mkdir()
132 static int hpfs_create(struct user_namespace *mnt_userns, struct inode *dir, in hpfs_create() argument
146 hpfs_lock(dir->i_sb); in hpfs_create()
148 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_create()
156 dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(local_get_seconds(dir->i_sb)); in hpfs_create()
158 result = new_inode(dir->i_sb); in hpfs_create()
169 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_create()
170 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_create()
182 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_create()
191 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_create()
205 hpfs_update_directory_times(dir); in hpfs_create()
207 hpfs_unlock(dir->i_sb); in hpfs_create()
214 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_create()
216 hpfs_unlock(dir->i_sb); in hpfs_create()
220 static int hpfs_mknod(struct user_namespace *mnt_userns, struct inode *dir, in hpfs_mknod() argument
233 if (hpfs_sb(dir->i_sb)->sb_eas < 2) return -EPERM; in hpfs_mknod()
234 hpfs_lock(dir->i_sb); in hpfs_mknod()
236 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_mknod()
244 dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(local_get_seconds(dir->i_sb)); in hpfs_mknod()
246 result = new_inode(dir->i_sb); in hpfs_mknod()
252 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_mknod()
253 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_mknod()
265 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_mknod()
274 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_mknod()
280 hpfs_update_directory_times(dir); in hpfs_mknod()
283 hpfs_unlock(dir->i_sb); in hpfs_mknod()
289 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_mknod()
291 hpfs_unlock(dir->i_sb); in hpfs_mknod()
295 static int hpfs_symlink(struct user_namespace *mnt_userns, struct inode *dir, in hpfs_symlink() argument
308 hpfs_lock(dir->i_sb); in hpfs_symlink()
309 if (hpfs_sb(dir->i_sb)->sb_eas < 2) { in hpfs_symlink()
310 hpfs_unlock(dir->i_sb); in hpfs_symlink()
314 fnode = hpfs_alloc_fnode(dir->i_sb, hpfs_i(dir)->i_dno, &fno, &bh); in hpfs_symlink()
321 dee.creation_date = dee.write_date = dee.read_date = cpu_to_le32(local_get_seconds(dir->i_sb)); in hpfs_symlink()
323 result = new_inode(dir->i_sb); in hpfs_symlink()
328 hpfs_i(result)->i_parent_dir = dir->i_ino; in hpfs_symlink()
329 …result->i_ctime.tv_sec = result->i_mtime.tv_sec = result->i_atime.tv_sec = local_to_gmt(dir->i_sb,… in hpfs_symlink()
344 r = hpfs_add_dirent(dir, name, len, &dee); in hpfs_symlink()
353 fnode->up = cpu_to_le32(dir->i_ino); in hpfs_symlink()
361 hpfs_update_directory_times(dir); in hpfs_symlink()
363 hpfs_unlock(dir->i_sb); in hpfs_symlink()
369 hpfs_free_sectors(dir->i_sb, fno, 1); in hpfs_symlink()
371 hpfs_unlock(dir->i_sb); in hpfs_symlink()
375 static int hpfs_unlink(struct inode *dir, struct dentry *dentry) in hpfs_unlink() argument
386 hpfs_lock(dir->i_sb); in hpfs_unlink()
390 de = map_dirent(dir, hpfs_i(dir)->i_dno, name, len, &dno, &qbh); in hpfs_unlink()
402 r = hpfs_remove_dirent(dir, dno, de, &qbh, 1); in hpfs_unlink()
405 hpfs_error(dir->i_sb, "there was error when removing dirent"); in hpfs_unlink()
421 hpfs_update_directory_times(dir); in hpfs_unlink()
422 hpfs_unlock(dir->i_sb); in hpfs_unlink()
426 static int hpfs_rmdir(struct inode *dir, struct dentry *dentry) in hpfs_rmdir() argument
439 hpfs_lock(dir->i_sb); in hpfs_rmdir()
441 de = map_dirent(dir, hpfs_i(dir)->i_dno, name, len, &dno, &qbh); in hpfs_rmdir()
453 hpfs_count_dnodes(dir->i_sb, hpfs_i(inode)->i_dno, NULL, NULL, &n_items); in hpfs_rmdir()
458 r = hpfs_remove_dirent(dir, dno, de, &qbh, 1); in hpfs_rmdir()
461 hpfs_error(dir->i_sb, "there was error when removing dirent"); in hpfs_rmdir()
468 drop_nlink(dir); in hpfs_rmdir()
477 hpfs_update_directory_times(dir); in hpfs_rmdir()
478 hpfs_unlock(dir->i_sb); in hpfs_rmdir()