Lines Matching refs:inode
38 static int ext4_release_file(struct inode *inode, struct file *filp) in ext4_release_file() argument
40 if (ext4_test_inode_state(inode, EXT4_STATE_DA_ALLOC_CLOSE)) { in ext4_release_file()
41 ext4_alloc_da_blocks(inode); in ext4_release_file()
42 ext4_clear_inode_state(inode, EXT4_STATE_DA_ALLOC_CLOSE); in ext4_release_file()
46 (atomic_read(&inode->i_writecount) == 1) && in ext4_release_file()
47 !EXT4_I(inode)->i_reserved_data_blocks) in ext4_release_file()
49 down_write(&EXT4_I(inode)->i_data_sem); in ext4_release_file()
50 ext4_discard_preallocations(inode); in ext4_release_file()
51 up_write(&EXT4_I(inode)->i_data_sem); in ext4_release_file()
53 if (is_dx(inode) && filp->private_data) in ext4_release_file()
59 static void ext4_unwritten_wait(struct inode *inode) in ext4_unwritten_wait() argument
61 wait_queue_head_t *wq = ext4_ioend_wq(inode); in ext4_unwritten_wait()
63 wait_event(*wq, (atomic_read(&EXT4_I(inode)->i_unwritten) == 0)); in ext4_unwritten_wait()
76 ext4_unaligned_aio(struct inode *inode, struct iov_iter *from, loff_t pos) in ext4_unaligned_aio() argument
78 struct super_block *sb = inode->i_sb; in ext4_unaligned_aio()
81 if (pos >= i_size_read(inode)) in ext4_unaligned_aio()
94 struct inode *inode = file_inode(iocb->ki_filp); in ext4_file_write_iter() local
106 ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) && in ext4_file_write_iter()
109 ext4_unaligned_aio(inode, from, iocb->ki_pos))) { in ext4_file_write_iter()
110 aio_mutex = ext4_aio_mutex(inode); in ext4_file_write_iter()
112 ext4_unwritten_wait(inode); in ext4_file_write_iter()
115 mutex_lock(&inode->i_mutex); in ext4_file_write_iter()
124 if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) { in ext4_file_write_iter()
125 struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); in ext4_file_write_iter()
141 if (ext4_should_dioread_nolock(inode) && !aio_mutex && in ext4_file_write_iter()
142 !file->f_mapping->nrpages && pos + length <= i_size_read(inode)) { in ext4_file_write_iter()
144 unsigned int blkbits = inode->i_blkbits; in ext4_file_write_iter()
152 err = ext4_map_blocks(NULL, inode, &map, 0); in ext4_file_write_iter()
171 mutex_unlock(&inode->i_mutex); in ext4_file_write_iter()
188 mutex_unlock(&inode->i_mutex); in ext4_file_write_iter()
197 struct inode *inode = bh->b_assoc_map->host; in ext4_end_io_unwritten() local
199 loff_t offset = (loff_t)(uintptr_t)bh->b_private << inode->i_blkbits; in ext4_end_io_unwritten()
204 err = ext4_convert_unwritten_extents(NULL, inode, offset, bh->b_size); in ext4_end_io_unwritten()
235 struct inode *inode = file->f_mapping->host; in ext4_file_mmap() local
237 if (ext4_encrypted_inode(inode)) { in ext4_file_mmap()
238 int err = ext4_generate_encryption_key(inode); in ext4_file_mmap()
252 static int ext4_file_open(struct inode * inode, struct file * filp) in ext4_file_open() argument
254 struct super_block *sb = inode->i_sb; in ext4_file_open()
255 struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); in ext4_file_open()
298 ret = ext4_inode_attach_jinode(inode); in ext4_file_open()
302 ret = dquot_file_open(inode, filp); in ext4_file_open()
303 if (!ret && ext4_encrypted_inode(inode)) { in ext4_file_open()
304 ret = ext4_generate_encryption_key(inode); in ext4_file_open()
327 static int ext4_find_unwritten_pgoff(struct inode *inode, in ext4_find_unwritten_pgoff() argument
341 blkbits = inode->i_sb->s_blocksize_bits; in ext4_find_unwritten_pgoff()
355 nr_pages = pagevec_lookup(&pvec, inode->i_mapping, index, in ext4_find_unwritten_pgoff()
400 if (unlikely(page->mapping != inode->i_mapping)) { in ext4_find_unwritten_pgoff()
461 struct inode *inode = file->f_mapping->host; in ext4_seek_data() local
469 mutex_lock(&inode->i_mutex); in ext4_seek_data()
471 isize = i_size_read(inode); in ext4_seek_data()
473 mutex_unlock(&inode->i_mutex); in ext4_seek_data()
477 blkbits = inode->i_sb->s_blocksize_bits; in ext4_seek_data()
486 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_seek_data()
497 ext4_es_find_delayed_extent_range(inode, last, last, &es); in ext4_seek_data()
511 unwritten = ext4_find_unwritten_pgoff(inode, SEEK_DATA, in ext4_seek_data()
521 mutex_unlock(&inode->i_mutex); in ext4_seek_data()
534 struct inode *inode = file->f_mapping->host; in ext4_seek_hole() local
542 mutex_lock(&inode->i_mutex); in ext4_seek_hole()
544 isize = i_size_read(inode); in ext4_seek_hole()
546 mutex_unlock(&inode->i_mutex); in ext4_seek_hole()
550 blkbits = inode->i_sb->s_blocksize_bits; in ext4_seek_hole()
559 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_seek_hole()
570 ext4_es_find_delayed_extent_range(inode, last, last, &es); in ext4_seek_hole()
584 unwritten = ext4_find_unwritten_pgoff(inode, SEEK_HOLE, in ext4_seek_hole()
597 mutex_unlock(&inode->i_mutex); in ext4_seek_hole()
612 struct inode *inode = file->f_mapping->host; in ext4_llseek() local
615 if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) in ext4_llseek()
616 maxbytes = EXT4_SB(inode->i_sb)->s_bitmap_maxbytes; in ext4_llseek()
618 maxbytes = inode->i_sb->s_maxbytes; in ext4_llseek()
625 maxbytes, i_size_read(inode)); in ext4_llseek()