Lines Matching refs:orig_inode
71 ext4_double_up_write_data_sem(struct inode *orig_inode, in ext4_double_up_write_data_sem() argument
74 up_write(&EXT4_I(orig_inode)->i_data_sem); in ext4_double_up_write_data_sem()
252 struct inode *orig_inode = file_inode(o_filp); in move_extent_per_page() local
256 unsigned long blocksize = orig_inode->i_sb->s_blocksize; in move_extent_per_page()
260 int from = data_offset_in_page << orig_inode->i_blkbits; in move_extent_per_page()
261 int blocks_per_page = PAGE_SIZE >> orig_inode->i_blkbits; in move_extent_per_page()
262 struct super_block *sb = orig_inode->i_sb; in move_extent_per_page()
271 jblocks = ext4_writepage_trans_blocks(orig_inode) * 2; in move_extent_per_page()
272 handle = ext4_journal_start(orig_inode, EXT4_HT_MOVE_EXTENTS, jblocks); in move_extent_per_page()
286 ((orig_inode->i_size - 1) >> orig_inode->i_blkbits)) { in move_extent_per_page()
288 tmp_data_size = orig_inode->i_size & (blocksize - 1); in move_extent_per_page()
297 ((block_len_in_page - 1) << orig_inode->i_blkbits); in move_extent_per_page()
299 data_size = block_len_in_page << orig_inode->i_blkbits; in move_extent_per_page()
303 *err = mext_page_double_lock(orig_inode, donor_inode, orig_page_offset, in move_extent_per_page()
315 ext4_double_down_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
318 unwritten = mext_check_coverage(orig_inode, orig_blk_offset, in move_extent_per_page()
329 ext4_double_up_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
339 replaced_count = ext4_swap_extents(handle, orig_inode, in move_extent_per_page()
344 ext4_double_up_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
359 ext4_double_down_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
360 replaced_count = ext4_swap_extents(handle, orig_inode, donor_inode, in move_extent_per_page()
363 ext4_double_up_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
368 block_len_in_page << orig_inode->i_blkbits; in move_extent_per_page()
375 create_empty_buffers(pagep[0], 1 << orig_inode->i_blkbits, 0); in move_extent_per_page()
380 *err = ext4_get_block(orig_inode, orig_blk_offset + i, bh, 0); in move_extent_per_page()
393 *err = ext4_jbd2_inode_add_write(handle, orig_inode); in move_extent_per_page()
418 ext4_double_down_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
419 replaced_count = ext4_swap_extents(handle, donor_inode, orig_inode, in move_extent_per_page()
422 ext4_double_up_write_data_sem(orig_inode, donor_inode); in move_extent_per_page()
424 EXT4_ERROR_INODE_BLOCK(orig_inode, (sector_t)(orig_blk_offset), in move_extent_per_page()
447 mext_check_arguments(struct inode *orig_inode, in mext_check_arguments() argument
452 unsigned int blkbits = orig_inode->i_blkbits; in mext_check_arguments()
455 orig_eof = (i_size_read(orig_inode) + blocksize - 1) >> blkbits; in mext_check_arguments()
462 orig_inode->i_ino, donor_inode->i_ino); in mext_check_arguments()
470 if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) { in mext_check_arguments()
473 orig_inode->i_ino, donor_inode->i_ino); in mext_check_arguments()
477 if (ext4_is_quota_file(orig_inode) && ext4_is_quota_file(donor_inode)) { in mext_check_arguments()
480 orig_inode->i_ino, donor_inode->i_ino); in mext_check_arguments()
485 if (!(ext4_test_inode_flag(orig_inode, EXT4_INODE_EXTENTS))) { in mext_check_arguments()
487 "based file [ino:orig %lu]\n", orig_inode->i_ino); in mext_check_arguments()
495 if ((!orig_inode->i_size) || (!donor_inode->i_size)) { in mext_check_arguments()
501 if ((orig_start & ~(PAGE_MASK >> orig_inode->i_blkbits)) != in mext_check_arguments()
502 (donor_start & ~(PAGE_MASK >> orig_inode->i_blkbits))) { in mext_check_arguments()
505 orig_inode->i_ino, donor_inode->i_ino); in mext_check_arguments()
516 orig_inode->i_ino, donor_inode->i_ino); in mext_check_arguments()
525 "[ino:orig %lu, donor %lu]\n", orig_inode->i_ino, in mext_check_arguments()
551 struct inode *orig_inode = file_inode(o_filp); in ext4_move_extents() local
554 int blocks_per_page = PAGE_SIZE >> orig_inode->i_blkbits; in ext4_move_extents()
559 if (orig_inode->i_sb != donor_inode->i_sb) { in ext4_move_extents()
562 orig_inode->i_ino, donor_inode->i_ino); in ext4_move_extents()
567 if (orig_inode == donor_inode) { in ext4_move_extents()
570 orig_inode->i_ino, donor_inode->i_ino); in ext4_move_extents()
575 if (!S_ISREG(orig_inode->i_mode) || !S_ISREG(donor_inode->i_mode)) { in ext4_move_extents()
578 orig_inode->i_ino, donor_inode->i_ino); in ext4_move_extents()
584 if (ext4_should_journal_data(orig_inode) || in ext4_move_extents()
586 ext4_msg(orig_inode->i_sb, KERN_ERR, in ext4_move_extents()
591 if (ext4_encrypted_inode(orig_inode) || in ext4_move_extents()
593 ext4_msg(orig_inode->i_sb, KERN_ERR, in ext4_move_extents()
599 lock_two_nondirectories(orig_inode, donor_inode); in ext4_move_extents()
602 inode_dio_wait(orig_inode); in ext4_move_extents()
606 ext4_double_down_write_data_sem(orig_inode, donor_inode); in ext4_move_extents()
608 ret = mext_check_arguments(orig_inode, donor_inode, orig_blk, in ext4_move_extents()
621 ret = get_ext_path(orig_inode, o_start, &path); in ext4_move_extents()
654 orig_inode->i_blkbits); in ext4_move_extents()
667 ext4_double_up_write_data_sem(orig_inode, donor_inode); in ext4_move_extents()
673 ext4_double_down_write_data_sem(orig_inode, donor_inode); in ext4_move_extents()
685 ext4_discard_preallocations(orig_inode); in ext4_move_extents()
691 ext4_double_up_write_data_sem(orig_inode, donor_inode); in ext4_move_extents()
692 unlock_two_nondirectories(orig_inode, donor_inode); in ext4_move_extents()