Lines Matching refs:dir

48 	struct inode *dir = mapping->host;  in ufs_commit_chunk()  local
50 inode_inc_iversion(dir); in ufs_commit_chunk()
52 if (pos+len > dir->i_size) { in ufs_commit_chunk()
53 i_size_write(dir, pos+len); in ufs_commit_chunk()
54 mark_inode_dirty(dir); in ufs_commit_chunk()
59 static int ufs_handle_dirsync(struct inode *dir) in ufs_handle_dirsync() argument
63 err = filemap_write_and_wait(dir->i_mapping); in ufs_handle_dirsync()
65 err = sync_inode_metadata(dir, 1); in ufs_handle_dirsync()
69 ino_t ufs_inode_by_name(struct inode *dir, const struct qstr *qstr) in ufs_inode_by_name() argument
75 de = ufs_find_entry(dir, qstr, &folio); in ufs_inode_by_name()
77 res = fs32_to_cpu(dir->i_sb, de->d_ino); in ufs_inode_by_name()
84 int ufs_set_link(struct inode *dir, struct ufs_dir_entry *de, in ufs_set_link() argument
89 unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen); in ufs_set_link()
99 de->d_ino = cpu_to_fs32(dir->i_sb, inode->i_ino); in ufs_set_link()
100 ufs_set_de_type(dir->i_sb, de, inode->i_mode); in ufs_set_link()
104 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ufs_set_link()
105 mark_inode_dirty(dir); in ufs_set_link()
106 return ufs_handle_dirsync(dir); in ufs_set_link()
111 struct inode *dir = folio->mapping->host; in ufs_check_folio() local
112 struct super_block *sb = dir->i_sb; in ufs_check_folio()
119 if (dir->i_size < folio_pos(folio) + limit) { in ufs_check_folio()
120 limit = offset_in_folio(folio, dir->i_size); in ufs_check_folio()
153 dir->i_ino in ufs_check_folio()
173 dir->i_ino, error, folio_pos(folio) + offs, in ufs_check_folio()
181 dir->i_ino, folio_pos(folio) + offs); in ufs_check_folio()
186 static void *ufs_get_folio(struct inode *dir, unsigned long n, in ufs_get_folio() argument
189 struct address_space *mapping = dir->i_mapping; in ufs_get_folio()
230 struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct folio **foliop) in ufs_dotdot() argument
232 struct ufs_dir_entry *de = ufs_get_folio(dir, 0, foliop); in ufs_dotdot()
235 return ufs_next_entry(dir->i_sb, de); in ufs_dotdot()
248 struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr, in ufs_find_entry() argument
251 struct super_block *sb = dir->i_sb; in ufs_find_entry()
256 unsigned long npages = dir_pages(dir); in ufs_find_entry()
257 struct ufs_inode_info *ui = UFS_I(dir); in ufs_find_entry()
260 UFSD("ENTER, dir_ino %lu, name %s, namlen %u\n", dir->i_ino, name, namelen); in ufs_find_entry()
271 char *kaddr = ufs_get_folio(dir, n, foliop); in ufs_find_entry()
275 kaddr += ufs_last_byte(dir, n) - reclen; in ufs_find_entry()
299 struct inode *dir = d_inode(dentry->d_parent); in ufs_add_link() local
302 struct super_block *sb = dir->i_sb; in ufs_add_link()
308 unsigned long npages = dir_pages(dir); in ufs_add_link()
321 char *kaddr = ufs_get_folio(dir, n, &folio); in ufs_add_link()
327 dir_end = kaddr + ufs_last_byte(dir, n); in ufs_add_link()
340 ufs_error(dir->i_sb, __func__, in ufs_add_link()
382 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ufs_add_link()
384 mark_inode_dirty(dir); in ufs_add_link()
385 err = ufs_handle_dirsync(dir); in ufs_add_link()
482 int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir, in ufs_delete_entry() argument
494 from = offset_in_folio(folio, dir); in ufs_delete_entry()
495 to = from + fs16_to_cpu(sb, dir->d_reclen); in ufs_delete_entry()
496 kaddr = (char *)dir - from; in ufs_delete_entry()
505 while ((char*)de < (char*)dir) { in ufs_delete_entry()
525 dir->d_ino = 0; in ufs_delete_entry()
532 int ufs_make_empty(struct inode * inode, struct inode *dir) in ufs_make_empty() argument
534 struct super_block * sb = dir->i_sb; in ufs_make_empty()
563 de->d_ino = cpu_to_fs32(sb, dir->i_ino); in ufs_make_empty()
564 ufs_set_de_type(sb, de, dir->i_mode); in ufs_make_empty()