|
@@ -691,7 +691,12 @@ static void move_data_block(struct inode *inode, block_t bidx,
|
|
|
fio.op = REQ_OP_WRITE;
|
|
fio.op = REQ_OP_WRITE;
|
|
|
fio.op_flags = REQ_SYNC;
|
|
fio.op_flags = REQ_SYNC;
|
|
|
fio.new_blkaddr = newaddr;
|
|
fio.new_blkaddr = newaddr;
|
|
|
- f2fs_submit_page_write(&fio);
|
|
|
|
|
|
|
+ err = f2fs_submit_page_write(&fio);
|
|
|
|
|
+ if (err) {
|
|
|
|
|
+ if (PageWriteback(fio.encrypted_page))
|
|
|
|
|
+ end_page_writeback(fio.encrypted_page);
|
|
|
|
|
+ goto put_page_out;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
f2fs_update_iostat(fio.sbi, FS_GC_DATA_IO, F2FS_BLKSIZE);
|
|
f2fs_update_iostat(fio.sbi, FS_GC_DATA_IO, F2FS_BLKSIZE);
|
|
|
|
|
|