Lines Matching full:dir

3  *  linux/fs/ext2/dir.c
12 * linux/fs/minix/dir.c
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()
190 static void *ext2_get_folio(struct inode *dir, unsigned long n, in ext2_get_folio() argument
193 struct address_space *mapping = dir->i_mapping; in ext2_get_folio()
343 struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir, in ext2_find_entry() argument
350 unsigned long npages = dir_pages(dir); in ext2_find_entry()
351 struct ext2_inode_info *ei = EXT2_I(dir); in ext2_find_entry()
362 char *kaddr = ext2_get_folio(dir, n, 0, foliop); in ext2_find_entry()
367 kaddr += ext2_last_byte(dir, n) - reclen; in ext2_find_entry()
370 ext2_error(dir->i_sb, __func__, in ext2_find_entry()
384 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) { in ext2_find_entry()
385 ext2_error(dir->i_sb, __func__, in ext2_find_entry()
386 "dir %lu size %lld exceeds block count %llu", in ext2_find_entry()
387 dir->i_ino, dir->i_size, in ext2_find_entry()
388 (unsigned long long)dir->i_blocks); in ext2_find_entry()
413 struct ext2_dir_entry_2 *ext2_dotdot(struct inode *dir, struct folio **foliop) in ext2_dotdot() argument
415 ext2_dirent *de = ext2_get_folio(dir, 0, 0, foliop); in ext2_dotdot()
422 int ext2_inode_by_name(struct inode *dir, const struct qstr *child, ino_t *ino) in ext2_inode_by_name() argument
427 de = ext2_find_entry(dir, child, &folio); in ext2_inode_by_name()
441 static int ext2_handle_dirsync(struct inode *dir) in ext2_handle_dirsync() argument
445 err = filemap_write_and_wait(dir->i_mapping); in ext2_handle_dirsync()
447 err = sync_inode_metadata(dir, 1); in ext2_handle_dirsync()
451 int ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, in ext2_set_link() argument
468 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ext2_set_link()
469 EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; in ext2_set_link()
470 mark_inode_dirty(dir); in ext2_set_link()
471 return ext2_handle_dirsync(dir); in ext2_set_link()
479 struct inode *dir = d_inode(dentry->d_parent); in ext2_add_link() local
482 unsigned chunk_size = ext2_chunk_size(dir); in ext2_add_link()
487 unsigned long npages = dir_pages(dir); in ext2_add_link()
498 char *kaddr = ext2_get_folio(dir, n, 0, &folio); in ext2_add_link()
504 dir_end = kaddr + ext2_last_byte(dir, n); in ext2_add_link()
517 ext2_error(dir->i_sb, __func__, in ext2_add_link()
555 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in ext2_add_link()
556 EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL; in ext2_add_link()
557 mark_inode_dirty(dir); in ext2_add_link()
558 err = ext2_handle_dirsync(dir); in ext2_add_link()
572 int ext2_delete_entry(struct ext2_dir_entry_2 *dir, struct folio *folio) in ext2_delete_entry() argument
581 from = offset_in_folio(folio, dir); in ext2_delete_entry()
582 to = from + ext2_rec_len_from_disk(dir->rec_len); in ext2_delete_entry()
583 kaddr = (char *)dir - from; in ext2_delete_entry()
587 while ((char*)de < (char*)dir) { in ext2_delete_entry()
607 dir->inode = 0; in ext2_delete_entry()