Lines Matching refs:dir
87 struct inode *dir = mapping->host; in ext2_commit_chunk() local
89 inode_inc_iversion(dir); in ext2_commit_chunk()
92 if (pos+len > dir->i_size) { in ext2_commit_chunk()
93 i_size_write(dir, pos+len); in ext2_commit_chunk()
94 mark_inode_dirty(dir); in ext2_commit_chunk()
101 struct inode *dir = folio->mapping->host; in ext2_check_folio() local
102 struct super_block *sb = dir->i_sb; in ext2_check_folio()
103 unsigned chunk_size = ext2_chunk_size(dir); in ext2_check_folio()
110 if (dir->i_size < folio_pos(folio) + limit) { in ext2_check_folio()
111 limit = offset_in_folio(folio, dir->i_size); in ext2_check_folio()
144 "of chunk size", dir->i_ino); in ext2_check_folio()
164 dir->i_ino, error, folio_pos(folio) + offs, in ext2_check_folio()
174 dir->i_ino, folio_pos(folio) + offs, in ext2_check_folio()
189 static void *ext2_get_folio(struct inode *dir, unsigned long n, in ext2_get_folio() argument
192 struct address_space *mapping = dir->i_mapping; in ext2_get_folio()
342 struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir, in ext2_find_entry() argument
349 unsigned long npages = dir_pages(dir); in ext2_find_entry()
350 struct ext2_inode_info *ei = EXT2_I(dir); in ext2_find_entry()
361 char *kaddr = ext2_get_folio(dir, n, 0, foliop); in ext2_find_entry()
366 kaddr += ext2_last_byte(dir, n) - reclen; in ext2_find_entry()
369 ext2_error(dir->i_sb, __func__, in ext2_find_entry()
383 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) { in ext2_find_entry()
384 ext2_error(dir->i_sb, __func__, in ext2_find_entry()
386 dir->i_ino, dir->i_size, in ext2_find_entry()
387 (unsigned long long)dir->i_blocks); in ext2_find_entry()
412 struct ext2_dir_entry_2 *ext2_dotdot(struct inode *dir, struct folio **foliop) in ext2_dotdot() argument
414 ext2_dirent *de = ext2_get_folio(dir, 0, 0, foliop); in ext2_dotdot()
421 int ext2_inode_by_name(struct inode *dir, const struct qstr *child, ino_t *ino) in ext2_inode_by_name() argument
426 de = ext2_find_entry(dir, child, &folio); in ext2_inode_by_name()
440 static int ext2_handle_dirsync(struct inode *dir) in ext2_handle_dirsync() argument
444 err = filemap_write_and_wait(dir->i_mapping); in ext2_handle_dirsync()
446 err = sync_inode_metadata(dir, 1); in ext2_handle_dirsync()
450 int ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, in ext2_set_link() argument
467 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ext2_set_link()
468 EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; in ext2_set_link()
469 mark_inode_dirty(dir); in ext2_set_link()
470 return ext2_handle_dirsync(dir); in ext2_set_link()
478 struct inode *dir = d_inode(dentry->d_parent); in ext2_add_link() local
481 unsigned chunk_size = ext2_chunk_size(dir); in ext2_add_link()
486 unsigned long npages = dir_pages(dir); in ext2_add_link()
497 char *kaddr = ext2_get_folio(dir, n, 0, &folio); in ext2_add_link()
503 dir_end = kaddr + ext2_last_byte(dir, n); in ext2_add_link()
516 ext2_error(dir->i_sb, __func__, in ext2_add_link()
554 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ext2_add_link()
555 EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; in ext2_add_link()
556 mark_inode_dirty(dir); in ext2_add_link()
557 err = ext2_handle_dirsync(dir); in ext2_add_link()
571 int ext2_delete_entry(struct ext2_dir_entry_2 *dir, struct folio *folio) in ext2_delete_entry() argument
580 from = offset_in_folio(folio, dir); in ext2_delete_entry()
581 to = from + ext2_rec_len_from_disk(dir->rec_len); in ext2_delete_entry()
582 kaddr = (char *)dir - from; in ext2_delete_entry()
586 while ((char*)de < (char*)dir) { in ext2_delete_entry()
606 dir->inode = 0; in ext2_delete_entry()