Lines Matching refs:dir

92 	struct inode *dir = mapping->host;  in nilfs_commit_chunk()  local
100 if (pos + copied > dir->i_size) in nilfs_commit_chunk()
101 i_size_write(dir, pos + copied); in nilfs_commit_chunk()
102 if (IS_DIRSYNC(dir)) in nilfs_commit_chunk()
104 err = nilfs_set_file_dirty(dir, nr_dirty); in nilfs_commit_chunk()
111 struct inode *dir = folio->mapping->host; in nilfs_check_folio() local
112 struct super_block *sb = dir->i_sb; in nilfs_check_folio()
113 unsigned int chunk_size = nilfs_chunk_size(dir); in nilfs_check_folio()
119 if (dir->i_size < folio_pos(folio) + limit) { in nilfs_check_folio()
120 limit = dir->i_size - folio_pos(folio); in nilfs_check_folio()
153 dir->i_ino); in nilfs_check_folio()
172 dir->i_ino, error, (folio->index << PAGE_SHIFT) + offs, in nilfs_check_folio()
180 dir->i_ino, (folio->index << PAGE_SHIFT) + offs, in nilfs_check_folio()
186 static void *nilfs_get_folio(struct inode *dir, unsigned long n, in nilfs_get_folio() argument
189 struct address_space *mapping = dir->i_mapping; in nilfs_get_folio()
294 struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir, in nilfs_find_entry() argument
301 unsigned long npages = dir_pages(dir); in nilfs_find_entry()
302 struct nilfs_inode_info *ei = NILFS_I(dir); in nilfs_find_entry()
313 char *kaddr = nilfs_get_folio(dir, n, foliop); in nilfs_find_entry()
319 kaddr += nilfs_last_byte(dir, n) - reclen; in nilfs_find_entry()
322 nilfs_error(dir->i_sb, in nilfs_find_entry()
336 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) { in nilfs_find_entry()
337 nilfs_error(dir->i_sb, in nilfs_find_entry()
339 dir->i_ino, dir->i_size, in nilfs_find_entry()
340 (unsigned long long)dir->i_blocks); in nilfs_find_entry()
352 struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop) in nilfs_dotdot() argument
359 de = nilfs_get_folio(dir, 0, &folio); in nilfs_dotdot()
363 limit = nilfs_last_byte(dir, 0); /* is a multiple of chunk size */ in nilfs_dotdot()
364 if (unlikely(!limit || le64_to_cpu(de->inode) != dir->i_ino || in nilfs_dotdot()
375 if (unlikely((char *)next_de == (char *)de + nilfs_chunk_size(dir) || in nilfs_dotdot()
384 nilfs_error(dir->i_sb, "directory #%lu %s", dir->i_ino, msg); in nilfs_dotdot()
389 int nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr, ino_t *ino) in nilfs_inode_by_name() argument
394 de = nilfs_find_entry(dir, qstr, &folio); in nilfs_inode_by_name()
403 int nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *de, in nilfs_set_link() argument
420 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in nilfs_set_link()
429 struct inode *dir = d_inode(dentry->d_parent); in nilfs_add_link() local
432 unsigned int chunk_size = nilfs_chunk_size(dir); in nilfs_add_link()
437 unsigned long npages = dir_pages(dir); in nilfs_add_link()
448 char *kaddr = nilfs_get_folio(dir, n, &folio); in nilfs_add_link()
454 dir_end = kaddr + nilfs_last_byte(dir, n); in nilfs_add_link()
467 nilfs_error(dir->i_sb, in nilfs_add_link()
508 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir)); in nilfs_add_link()
509 nilfs_mark_inode_dirty(dir); in nilfs_add_link()
523 int nilfs_delete_entry(struct nilfs_dir_entry *dir, struct folio *folio) in nilfs_delete_entry() argument
527 char *kaddr = (char *)((unsigned long)dir & ~(folio_size(folio) - 1)); in nilfs_delete_entry()
532 from = ((char *)dir - kaddr) & ~(nilfs_chunk_size(inode) - 1); in nilfs_delete_entry()
533 to = ((char *)dir - kaddr) + nilfs_rec_len_from_disk(dir->rec_len); in nilfs_delete_entry()
536 while ((char *)de < (char *)dir) { in nilfs_delete_entry()
556 dir->inode = 0; in nilfs_delete_entry()