Lines Matching refs:dir

99 	struct inode *dir = mapping->host;  in nilfs_commit_chunk()  local
107 if (pos + copied > dir->i_size) in nilfs_commit_chunk()
108 i_size_write(dir, pos + copied); in nilfs_commit_chunk()
109 if (IS_DIRSYNC(dir)) in nilfs_commit_chunk()
111 err = nilfs_set_file_dirty(dir, nr_dirty); in nilfs_commit_chunk()
118 struct inode *dir = page->mapping->host; in nilfs_check_page() local
119 struct super_block *sb = dir->i_sb; in nilfs_check_page()
120 unsigned int chunk_size = nilfs_chunk_size(dir); in nilfs_check_page()
127 if ((dir->i_size >> PAGE_SHIFT) == page->index) { in nilfs_check_page()
128 limit = dir->i_size & ~PAGE_MASK; in nilfs_check_page()
161 dir->i_ino); in nilfs_check_page()
180 dir->i_ino, error, (page->index << PAGE_SHIFT) + offs, in nilfs_check_page()
188 dir->i_ino, (page->index << PAGE_SHIFT) + offs, in nilfs_check_page()
195 static void *nilfs_get_page(struct inode *dir, unsigned long n, in nilfs_get_page() argument
198 struct address_space *mapping = dir->i_mapping; in nilfs_get_page()
336 nilfs_find_entry(struct inode *dir, const struct qstr *qstr, in nilfs_find_entry() argument
343 unsigned long npages = dir_pages(dir); in nilfs_find_entry()
345 struct nilfs_inode_info *ei = NILFS_I(dir); in nilfs_find_entry()
359 char *kaddr = nilfs_get_page(dir, n, &page); in nilfs_find_entry()
363 kaddr += nilfs_last_byte(dir, n) - reclen; in nilfs_find_entry()
366 nilfs_error(dir->i_sb, in nilfs_find_entry()
380 if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) { in nilfs_find_entry()
381 nilfs_error(dir->i_sb, in nilfs_find_entry()
383 dir->i_ino, dir->i_size, in nilfs_find_entry()
384 (unsigned long long)dir->i_blocks); in nilfs_find_entry()
397 struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct page **p) in nilfs_dotdot() argument
404 de = nilfs_get_page(dir, 0, &page); in nilfs_dotdot()
408 limit = nilfs_last_byte(dir, 0); /* is a multiple of chunk size */ in nilfs_dotdot()
409 if (unlikely(!limit || le64_to_cpu(de->inode) != dir->i_ino || in nilfs_dotdot()
420 if (unlikely((char *)next_de == (char *)de + nilfs_chunk_size(dir) || in nilfs_dotdot()
429 nilfs_error(dir->i_sb, "directory #%lu %s", dir->i_ino, msg); in nilfs_dotdot()
434 ino_t nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr) in nilfs_inode_by_name() argument
440 de = nilfs_find_entry(dir, qstr, &page); in nilfs_inode_by_name()
450 void nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *de, in nilfs_set_link() argument
465 dir->i_mtime = inode_set_ctime_current(dir); in nilfs_set_link()
473 struct inode *dir = d_inode(dentry->d_parent); in nilfs_add_link() local
476 unsigned int chunk_size = nilfs_chunk_size(dir); in nilfs_add_link()
481 unsigned long npages = dir_pages(dir); in nilfs_add_link()
495 kaddr = nilfs_get_page(dir, n, &page); in nilfs_add_link()
500 dir_end = kaddr + nilfs_last_byte(dir, n); in nilfs_add_link()
513 nilfs_error(dir->i_sb, in nilfs_add_link()
554 dir->i_mtime = inode_set_ctime_current(dir); in nilfs_add_link()
555 nilfs_mark_inode_dirty(dir); in nilfs_add_link()
570 int nilfs_delete_entry(struct nilfs_dir_entry *dir, struct page *page) in nilfs_delete_entry() argument
579 from = ((char *)dir - kaddr) & ~(nilfs_chunk_size(inode) - 1); in nilfs_delete_entry()
580 to = ((char *)dir - kaddr) + nilfs_rec_len_from_disk(dir->rec_len); in nilfs_delete_entry()
583 while ((char *)de < (char *)dir) { in nilfs_delete_entry()
600 dir->inode = 0; in nilfs_delete_entry()