Lines Matching refs:inode

39 static int ext4_release_file(struct inode *inode, struct file *filp)  in ext4_release_file()  argument
41 if (ext4_test_inode_state(inode, EXT4_STATE_DA_ALLOC_CLOSE)) { in ext4_release_file()
42 ext4_alloc_da_blocks(inode); in ext4_release_file()
43 ext4_clear_inode_state(inode, EXT4_STATE_DA_ALLOC_CLOSE); in ext4_release_file()
47 (atomic_read(&inode->i_writecount) == 1) && in ext4_release_file()
48 !EXT4_I(inode)->i_reserved_data_blocks) in ext4_release_file()
50 down_write(&EXT4_I(inode)->i_data_sem); in ext4_release_file()
51 ext4_discard_preallocations(inode); in ext4_release_file()
52 up_write(&EXT4_I(inode)->i_data_sem); in ext4_release_file()
54 if (is_dx(inode) && filp->private_data) in ext4_release_file()
60 static void ext4_unwritten_wait(struct inode *inode) in ext4_unwritten_wait() argument
62 wait_queue_head_t *wq = ext4_ioend_wq(inode); in ext4_unwritten_wait()
64 wait_event(*wq, (atomic_read(&EXT4_I(inode)->i_unwritten) == 0)); in ext4_unwritten_wait()
77 ext4_unaligned_aio(struct inode *inode, struct iov_iter *from, loff_t pos) in ext4_unaligned_aio() argument
79 struct super_block *sb = inode->i_sb; in ext4_unaligned_aio()
82 if (pos >= i_size_read(inode)) in ext4_unaligned_aio()
95 struct inode *inode = file_inode(iocb->ki_filp); in ext4_file_write_iter() local
107 ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) && in ext4_file_write_iter()
110 ext4_unaligned_aio(inode, from, iocb->ki_pos))) { in ext4_file_write_iter()
111 aio_mutex = ext4_aio_mutex(inode); in ext4_file_write_iter()
113 ext4_unwritten_wait(inode); in ext4_file_write_iter()
116 mutex_lock(&inode->i_mutex); in ext4_file_write_iter()
125 if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) { in ext4_file_write_iter()
126 struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); in ext4_file_write_iter()
142 if (ext4_should_dioread_nolock(inode) && !aio_mutex && in ext4_file_write_iter()
143 !file->f_mapping->nrpages && pos + length <= i_size_read(inode)) { in ext4_file_write_iter()
145 unsigned int blkbits = inode->i_blkbits; in ext4_file_write_iter()
153 err = ext4_map_blocks(NULL, inode, &map, 0); in ext4_file_write_iter()
172 mutex_unlock(&inode->i_mutex); in ext4_file_write_iter()
189 mutex_unlock(&inode->i_mutex); in ext4_file_write_iter()
198 struct inode *inode = bh->b_assoc_map->host; in ext4_end_io_unwritten() local
200 loff_t offset = (loff_t)(uintptr_t)bh->b_private << inode->i_blkbits; in ext4_end_io_unwritten()
205 err = ext4_convert_unwritten_extents(NULL, inode, offset, bh->b_size); in ext4_end_io_unwritten()
212 struct inode *inode = file_inode(vma->vm_file); in ext4_dax_fault() local
213 struct super_block *sb = inode->i_sb; in ext4_dax_fault()
219 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_fault()
223 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_fault()
234 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_fault()
237 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_fault()
247 struct inode *inode = file_inode(vma->vm_file); in ext4_dax_pmd_fault() local
248 struct super_block *sb = inode->i_sb; in ext4_dax_pmd_fault()
254 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pmd_fault()
256 ext4_chunk_trans_blocks(inode, in ext4_dax_pmd_fault()
259 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pmd_fault()
270 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pmd_fault()
273 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pmd_fault()
281 struct inode *inode = file_inode(vma->vm_file); in ext4_dax_mkwrite() local
283 sb_start_pagefault(inode->i_sb); in ext4_dax_mkwrite()
285 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_mkwrite()
288 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_mkwrite()
289 sb_end_pagefault(inode->i_sb); in ext4_dax_mkwrite()
306 struct inode *inode = file_inode(vma->vm_file); in ext4_dax_pfn_mkwrite() local
307 struct super_block *sb = inode->i_sb; in ext4_dax_pfn_mkwrite()
313 down_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pfn_mkwrite()
314 size = (i_size_read(inode) + PAGE_SIZE - 1) >> PAGE_SHIFT; in ext4_dax_pfn_mkwrite()
317 up_read(&EXT4_I(inode)->i_mmap_sem); in ext4_dax_pfn_mkwrite()
341 struct inode *inode = file->f_mapping->host; in ext4_file_mmap() local
343 if (ext4_encrypted_inode(inode)) { in ext4_file_mmap()
344 int err = ext4_get_encryption_info(inode); in ext4_file_mmap()
347 if (ext4_encryption_info(inode) == NULL) in ext4_file_mmap()
360 static int ext4_file_open(struct inode * inode, struct file * filp) in ext4_file_open() argument
362 struct super_block *sb = inode->i_sb; in ext4_file_open()
363 struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); in ext4_file_open()
401 if (ext4_encrypted_inode(inode)) { in ext4_file_open()
402 ret = ext4_get_encryption_info(inode); in ext4_file_open()
405 if (ext4_encryption_info(inode) == NULL) in ext4_file_open()
413 ret = ext4_inode_attach_jinode(inode); in ext4_file_open()
417 return dquot_file_open(inode, filp); in ext4_file_open()
436 static int ext4_find_unwritten_pgoff(struct inode *inode, in ext4_find_unwritten_pgoff() argument
450 blkbits = inode->i_sb->s_blocksize_bits; in ext4_find_unwritten_pgoff()
464 nr_pages = pagevec_lookup(&pvec, inode->i_mapping, index, in ext4_find_unwritten_pgoff()
509 if (unlikely(page->mapping != inode->i_mapping)) { in ext4_find_unwritten_pgoff()
570 struct inode *inode = file->f_mapping->host; in ext4_seek_data() local
578 mutex_lock(&inode->i_mutex); in ext4_seek_data()
580 isize = i_size_read(inode); in ext4_seek_data()
582 mutex_unlock(&inode->i_mutex); in ext4_seek_data()
586 blkbits = inode->i_sb->s_blocksize_bits; in ext4_seek_data()
595 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_seek_data()
606 ext4_es_find_delayed_extent_range(inode, last, last, &es); in ext4_seek_data()
620 unwritten = ext4_find_unwritten_pgoff(inode, SEEK_DATA, in ext4_seek_data()
630 mutex_unlock(&inode->i_mutex); in ext4_seek_data()
643 struct inode *inode = file->f_mapping->host; in ext4_seek_hole() local
651 mutex_lock(&inode->i_mutex); in ext4_seek_hole()
653 isize = i_size_read(inode); in ext4_seek_hole()
655 mutex_unlock(&inode->i_mutex); in ext4_seek_hole()
659 blkbits = inode->i_sb->s_blocksize_bits; in ext4_seek_hole()
668 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_seek_hole()
679 ext4_es_find_delayed_extent_range(inode, last, last, &es); in ext4_seek_hole()
693 unwritten = ext4_find_unwritten_pgoff(inode, SEEK_HOLE, in ext4_seek_hole()
706 mutex_unlock(&inode->i_mutex); in ext4_seek_hole()
721 struct inode *inode = file->f_mapping->host; in ext4_llseek() local
724 if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) in ext4_llseek()
725 maxbytes = EXT4_SB(inode->i_sb)->s_bitmap_maxbytes; in ext4_llseek()
727 maxbytes = inode->i_sb->s_maxbytes; in ext4_llseek()
734 maxbytes, i_size_read(inode)); in ext4_llseek()