Commit b7973091 authored by Jia Yang's avatar Jia Yang Committed by Jaegeuk Kim
Browse files

f2fs: add parameter op_flag in f2fs_submit_page_read()



The parameter op_flag is not used in f2fs_get_read_data_page(),
but it is used in f2fs_grab_read_bio(). Obviously, op_flag is
not passed to f2fs_grab_read_bio() successfully. We need to add
parameter in f2fs_submit_page_read() to pass it.

The case:
- gc_data_segment
 - f2fs_get_read_data_page(.., op_flag = REQ_RAHEAD,..)
  - f2fs_submit_page_read
   - f2fs_grab_read_bio(.., op_flag = 0, ..)

Signed-off-by: default avatarJia Yang <jiayang5@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 901d745f
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1025,12 +1025,13 @@ static void f2fs_release_read_bio(struct bio *bio)

/* This can handle encryption stuffs */
static int f2fs_submit_page_read(struct inode *inode, struct page *page,
						block_t blkaddr, bool for_write)
				 block_t blkaddr, int op_flags, bool for_write)
{
	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
	struct bio *bio;

	bio = f2fs_grab_read_bio(inode, blkaddr, 1, 0, page->index, for_write);
	bio = f2fs_grab_read_bio(inode, blkaddr, 1, op_flags,
					page->index, for_write);
	if (IS_ERR(bio))
		return PTR_ERR(bio);

@@ -1217,7 +1218,8 @@ got_it:
		return page;
	}

	err = f2fs_submit_page_read(inode, page, dn.data_blkaddr, for_write);
	err = f2fs_submit_page_read(inode, page, dn.data_blkaddr,
						op_flags, for_write);
	if (err)
		goto put_err;
	return page;
@@ -3398,7 +3400,7 @@ repeat:
			err = -EFSCORRUPTED;
			goto fail;
		}
		err = f2fs_submit_page_read(inode, page, blkaddr, true);
		err = f2fs_submit_page_read(inode, page, blkaddr, 0, true);
		if (err)
			goto fail;