Lines Matching refs:dir

10  *  linux/fs/ext2/dir.c
19 * linux/fs/minix/dir.c
92 struct inode *dir = mapping->host;
100 if (pos + copied > dir->i_size)
101 i_size_write(dir, pos + copied);
102 if (IS_DIRSYNC(dir))
104 err = nilfs_set_file_dirty(dir, nr_dirty);
111 struct inode *dir = folio->mapping->host;
112 struct super_block *sb = dir->i_sb;
113 unsigned int chunk_size = nilfs_chunk_size(dir);
119 if (dir->i_size < folio_pos(folio) + limit) {
120 limit = dir->i_size - folio_pos(folio);
150 dir->i_ino);
166 dir->i_ino, error, (folio->index << PAGE_SHIFT) + offs,
174 dir->i_ino, (folio->index << PAGE_SHIFT) + offs,
181 static void *nilfs_get_folio(struct inode *dir, unsigned long n,
184 struct address_space *mapping = dir->i_mapping;
323 struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir,
330 unsigned long npages = dir_pages(dir);
331 struct nilfs_inode_info *ei = NILFS_I(dir);
342 char *kaddr = nilfs_get_folio(dir, n, foliop);
346 kaddr += nilfs_last_byte(dir, n) - reclen;
349 nilfs_error(dir->i_sb,
363 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
364 nilfs_error(dir->i_sb,
365 "dir %lu size %lld exceeds block count %llu",
366 dir->i_ino, dir->i_size,
367 (unsigned long long)dir->i_blocks);
379 struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop)
381 struct nilfs_dir_entry *de = nilfs_get_folio(dir, 0, foliop);
388 ino_t nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr)
394 de = nilfs_find_entry(dir, qstr, &folio);
402 void nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *de,
416 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
424 struct inode *dir = d_inode(dentry->d_parent);
427 unsigned int chunk_size = nilfs_chunk_size(dir);
432 unsigned long npages = dir_pages(dir);
443 char *kaddr = nilfs_get_folio(dir, n, &folio);
449 dir_end = kaddr + nilfs_last_byte(dir, n);
462 nilfs_error(dir->i_sb,
503 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
504 nilfs_mark_inode_dirty(dir);
518 int nilfs_delete_entry(struct nilfs_dir_entry *dir, struct folio *folio)
522 char *kaddr = (char *)((unsigned long)dir & ~(folio_size(folio) - 1));
527 from = ((char *)dir - kaddr) & ~(nilfs_chunk_size(inode) - 1);
528 to = ((char *)dir - kaddr) + nilfs_rec_len_from_disk(dir->rec_len);
531 while ((char *)de < (char *)dir) {
548 dir->inode = 0;