Lines Matching refs:inode
62 static inline unsigned ext2_chunk_size(struct inode *inode) in ext2_chunk_size() argument
64 return inode->i_sb->s_blocksize; in ext2_chunk_size()
73 static inline unsigned long dir_pages(struct inode *inode) in dir_pages() argument
75 return (inode->i_size+PAGE_CACHE_SIZE-1)>>PAGE_CACHE_SHIFT; in dir_pages()
83 ext2_last_byte(struct inode *inode, unsigned long page_nr) in ext2_last_byte() argument
85 unsigned last_byte = inode->i_size; in ext2_last_byte()
96 struct inode *dir = mapping->host; in ext2_commit_chunk()
120 struct inode *dir = page->mapping->host; in ext2_check_page()
149 if (unlikely(le32_to_cpu(p->inode) > max_inumber)) in ext2_check_page()
185 (unsigned long) le32_to_cpu(p->inode), in ext2_check_page()
195 (unsigned long) le32_to_cpu(p->inode)); in ext2_check_page()
202 static struct page * ext2_get_page(struct inode *dir, unsigned long n, in ext2_get_page()
231 if (!de->inode) in ext2_match()
280 static inline void ext2_set_de_type(ext2_dirent *de, struct inode *inode) in ext2_set_de_type() argument
282 umode_t mode = inode->i_mode; in ext2_set_de_type()
283 if (EXT2_HAS_INCOMPAT_FEATURE(inode->i_sb, EXT2_FEATURE_INCOMPAT_FILETYPE)) in ext2_set_de_type()
293 struct inode *inode = file_inode(file); in ext2_readdir() local
294 struct super_block *sb = inode->i_sb; in ext2_readdir()
297 unsigned long npages = dir_pages(inode); in ext2_readdir()
298 unsigned chunk_mask = ~(ext2_chunk_size(inode)-1); in ext2_readdir()
300 int need_revalidate = file->f_version != inode->i_version; in ext2_readdir()
302 if (pos > inode->i_size - EXT2_DIR_REC_LEN(1)) in ext2_readdir()
311 struct page *page = ext2_get_page(inode, n, 0); in ext2_readdir()
316 inode->i_ino); in ext2_readdir()
326 file->f_version = inode->i_version; in ext2_readdir()
330 limit = kaddr + ext2_last_byte(inode, n) - EXT2_DIR_REC_LEN(1); in ext2_readdir()
338 if (de->inode) { in ext2_readdir()
345 le32_to_cpu(de->inode), in ext2_readdir()
366 struct ext2_dir_entry_2 *ext2_find_entry (struct inode * dir, in ext2_find_entry()
431 struct ext2_dir_entry_2 * ext2_dotdot (struct inode *dir, struct page **p) in ext2_dotdot()
443 ino_t ext2_inode_by_name(struct inode *dir, struct qstr *child) in ext2_inode_by_name()
451 res = le32_to_cpu(de->inode); in ext2_inode_by_name()
463 void ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de, in ext2_set_link()
464 struct page *page, struct inode *inode, int update_times) in ext2_set_link() argument
474 de->inode = cpu_to_le32(inode->i_ino); in ext2_set_link()
475 ext2_set_de_type(de, inode); in ext2_set_link()
487 int ext2_add_link (struct dentry *dentry, struct inode *inode) in ext2_add_link() argument
489 struct inode *dir = d_inode(dentry->d_parent); in ext2_add_link()
526 de->inode = 0; in ext2_add_link()
540 if (!de->inode && rec_len >= reclen) in ext2_add_link()
558 if (de->inode) { in ext2_add_link()
566 de->inode = cpu_to_le32(inode->i_ino); in ext2_add_link()
567 ext2_set_de_type (de, inode); in ext2_add_link()
588 struct inode *inode = page->mapping->host; in ext2_delete_entry() local
590 unsigned from = ((char*)dir - kaddr) & ~(ext2_chunk_size(inode)-1); in ext2_delete_entry()
600 ext2_error(inode->i_sb, __func__, in ext2_delete_entry()
616 dir->inode = 0; in ext2_delete_entry()
618 inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC; in ext2_delete_entry()
619 EXT2_I(inode)->i_flags &= ~EXT2_BTREE_FL; in ext2_delete_entry()
620 mark_inode_dirty(inode); in ext2_delete_entry()
629 int ext2_make_empty(struct inode *inode, struct inode *parent) in ext2_make_empty() argument
631 struct page *page = grab_cache_page(inode->i_mapping, 0); in ext2_make_empty()
632 unsigned chunk_size = ext2_chunk_size(inode); in ext2_make_empty()
651 de->inode = cpu_to_le32(inode->i_ino); in ext2_make_empty()
652 ext2_set_de_type (de, inode); in ext2_make_empty()
657 de->inode = cpu_to_le32(parent->i_ino); in ext2_make_empty()
659 ext2_set_de_type (de, inode); in ext2_make_empty()
670 int ext2_empty_dir (struct inode * inode) in ext2_empty_dir() argument
673 unsigned long i, npages = dir_pages(inode); in ext2_empty_dir()
679 page = ext2_get_page(inode, i, dir_has_error); in ext2_empty_dir()
688 kaddr += ext2_last_byte(inode, i) - EXT2_DIR_REC_LEN(1); in ext2_empty_dir()
692 ext2_error(inode->i_sb, __func__, in ext2_empty_dir()
697 if (de->inode != 0) { in ext2_empty_dir()
704 if (de->inode != in ext2_empty_dir()
705 cpu_to_le32(inode->i_ino)) in ext2_empty_dir()