Lines Matching refs:orig_inode
66 * @orig_inode: original inode structure to be released its lock first
71 ext4_double_up_write_data_sem(struct inode *orig_inode,
74 up_write(&EXT4_I(orig_inode)->i_data_sem);
258 struct inode *orig_inode = file_inode(o_filp);
262 unsigned long blocksize = orig_inode->i_sb->s_blocksize;
266 int from = data_offset_in_page << orig_inode->i_blkbits;
267 int blocks_per_page = PAGE_SIZE >> orig_inode->i_blkbits;
268 struct super_block *sb = orig_inode->i_sb;
277 jblocks = ext4_writepage_trans_blocks(orig_inode) * 2;
278 handle = ext4_journal_start(orig_inode, EXT4_HT_MOVE_EXTENTS, jblocks);
292 ((orig_inode->i_size - 1) >> orig_inode->i_blkbits)) {
294 tmp_data_size = orig_inode->i_size & (blocksize - 1);
303 ((block_len_in_page - 1) << orig_inode->i_blkbits);
305 data_size = block_len_in_page << orig_inode->i_blkbits;
309 *err = mext_folio_double_lock(orig_inode, donor_inode, orig_page_offset,
326 ext4_double_down_write_data_sem(orig_inode, donor_inode);
329 unwritten = mext_check_coverage(orig_inode, orig_blk_offset,
340 ext4_double_up_write_data_sem(orig_inode, donor_inode);
348 replaced_count = ext4_swap_extents(handle, orig_inode,
353 ext4_double_up_write_data_sem(orig_inode, donor_inode);
368 ext4_double_down_write_data_sem(orig_inode, donor_inode);
369 replaced_count = ext4_swap_extents(handle, orig_inode, donor_inode,
372 ext4_double_up_write_data_sem(orig_inode, donor_inode);
377 block_len_in_page << orig_inode->i_blkbits;
384 create_empty_buffers(&folio[0]->page, 1 << orig_inode->i_blkbits, 0);
389 *err = ext4_get_block(orig_inode, orig_blk_offset + i, bh, 0);
399 *err = ext4_jbd2_inode_add_write(handle, orig_inode,
425 ext4_double_down_write_data_sem(orig_inode, donor_inode);
426 replaced_count = ext4_swap_extents(handle, donor_inode, orig_inode,
429 ext4_double_up_write_data_sem(orig_inode, donor_inode);
431 ext4_error_inode_block(orig_inode, (sector_t)(orig_blk_offset),
443 * @orig_inode: original inode
454 mext_check_arguments(struct inode *orig_inode,
459 unsigned int blkbits = orig_inode->i_blkbits;
462 orig_eof = (i_size_read(orig_inode) + blocksize - 1) >> blkbits;
469 orig_inode->i_ino, donor_inode->i_ino);
477 if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) {
479 orig_inode->i_ino, donor_inode->i_ino);
483 if (ext4_is_quota_file(orig_inode) && ext4_is_quota_file(donor_inode)) {
485 orig_inode->i_ino, donor_inode->i_ino);
490 if (!(ext4_test_inode_flag(orig_inode, EXT4_INODE_EXTENTS))) {
492 "based file [ino:orig %lu]\n", orig_inode->i_ino);
500 if ((!orig_inode->i_size) || (!donor_inode->i_size)) {
506 if ((orig_start & ~(PAGE_MASK >> orig_inode->i_blkbits)) !=
507 (donor_start & ~(PAGE_MASK >> orig_inode->i_blkbits))) {
510 orig_inode->i_ino, donor_inode->i_ino);
521 orig_inode->i_ino, donor_inode->i_ino);
534 "[ino:orig %lu, donor %lu]\n", orig_inode->i_ino,
560 struct inode *orig_inode = file_inode(o_filp);
563 int blocks_per_page = PAGE_SIZE >> orig_inode->i_blkbits;
568 if (orig_inode->i_sb != donor_inode->i_sb) {
571 orig_inode->i_ino, donor_inode->i_ino);
576 if (orig_inode == donor_inode) {
579 orig_inode->i_ino, donor_inode->i_ino);
584 if (!S_ISREG(orig_inode->i_mode) || !S_ISREG(donor_inode->i_mode)) {
587 orig_inode->i_ino, donor_inode->i_ino);
593 if (ext4_should_journal_data(orig_inode) ||
595 ext4_msg(orig_inode->i_sb, KERN_ERR,
600 if (IS_ENCRYPTED(orig_inode) || IS_ENCRYPTED(donor_inode)) {
601 ext4_msg(orig_inode->i_sb, KERN_ERR,
607 lock_two_nondirectories(orig_inode, donor_inode);
610 inode_dio_wait(orig_inode);
614 ext4_double_down_write_data_sem(orig_inode, donor_inode);
616 ret = mext_check_arguments(orig_inode, donor_inode, orig_blk,
630 ret = get_ext_path(orig_inode, o_start, &path);
662 orig_inode->i_blkbits);
675 ext4_double_up_write_data_sem(orig_inode, donor_inode);
681 ext4_double_down_write_data_sem(orig_inode, donor_inode);
690 ext4_discard_preallocations(orig_inode, 0);
695 ext4_double_up_write_data_sem(orig_inode, donor_inode);
696 unlock_two_nondirectories(orig_inode, donor_inode);