Re: [f2fs-dev] [PATCH] f2fs: avoid hungtask problem caused by losing wake_up

2016-02-24 Thread He YunLei
On 2016/2/24 11:46, Chao Yu wrote: >>> > > >>> > >But I doubt more that the reason we are stuck is there are remained pages >>> > >cached in bio buffer without being submitted. To make sure, maybe in >>> > >wait_on_all_pages_writeback we could add print info to see whether >>> >

[f2fs-dev] [PATCH 12/35] gfs2: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has gfs2 set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. v2: Bob, I did not add your signed off, because there was the gfs2_submit_bhs changes since last time you reviewed it. Signed-off-by: Mike

[f2fs-dev] [PATCH 10/35] btrfs: don't pass rq_flag_bits if there is a bio

2016-02-24 Thread mchristi
From: Mike Christie The bio bi_op and bi_rw is now setup, so there is no need to pass around the rq_flag_bits bits too. v2: 1. Fix merge_bio issue where instead of removing rw/op argument I passed it in again to the merge_bio related functions. Signed-off-by: Mike

[f2fs-dev] [PATCH 06/35] direct-io: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has the dio code set the bio bi_op to a REQ_OP. It also begins to convert btrfs's dio_submit_t related code, because of the submit_io callout use. In the btrfs_submit_direct change, I OR'd the op and flag back together. It is only temporary.

[f2fs-dev] [PATCH 11/35] f2fs: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has f2fs set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- fs/f2fs/checkpoint.c| 10 ++ fs/f2fs/data.c | 33

[f2fs-dev] [PATCH 09/35] btrfs: update __btrfs_map_block for bi_op transition

2016-02-24 Thread mchristi
From: Mike Christie We no longer pass in a bitmap of rq_flag_bits bits to __btrfs_map_block. It will always be a REQ_OP, or the btrfs specific REQ_GET_READ_MIRRORS, so this drops the bit tests. Signed-off-by: Mike Christie --- fs/btrfs/extent-tree.c |

[f2fs-dev] [PATCH 17/35] ocfs2: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has ocfs2 set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- fs/ocfs2/cluster/heartbeat.c | 11 +++ 1 file changed, 7 insertions(+), 4

[f2fs-dev] [PATCH 21/35] bcache: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has bcache set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only Signed-off-by: Mike Christie --- drivers/md/bcache/btree.c | 2 ++ drivers/md/bcache/debug.c | 2 ++

[f2fs-dev] [PATCH 16/35] nilfs: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has nilfs set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- fs/nilfs2/segbuf.c | 18 ++ 1 file changed, 10 insertions(+), 8

[f2fs-dev] [PATCH 13/35] xfs: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has xfs set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. Signed-off-by: Mike Christie Acked-by: Dave Chinner --- fs/xfs/xfs_aops.c | 3 ++- fs/xfs/xfs_buf.c | 27

[f2fs-dev] [PATCH 20/35] dm: pass dm stats data dir instead of bi_rw

2016-02-24 Thread mchristi
From: Mike Christie It looks like dm stats cares about the data direction (READ vs WRITE) and does not need the bio/request flags. Commands like REQ_FLUSH, REQ_DISCARD and REQ_WRITE_SAME are currently always set with REQ_WRITE, so the extra check for REQ_DISCARD in

[f2fs-dev] [PATCH 01/35] block/fs/drivers: remove rw argument from submit_bio

2016-02-24 Thread mchristi
From: Mike Christie This has callers of submit_bio/submit_bio_wait set the bio->bi_rw instead of passing it in. This makes that use the same as generic_make_request and how we set the other bio fields. v2. 1. Set bi_rw instead of ORing it. For cloned bios, I still OR it to

[f2fs-dev] [PATCH 07/35] btrfs: have submit_one_bio users setup bio bi_op

2016-02-24 Thread mchristi
From: Mike Christie This patch has btrfs's submit_one_bio callers set the bio->bi_op to a REQ_OP and the bi_rw to rq_flag_bits. The next patches will continue to convert btrfs, so submit_bio_hook and merge_bio_hook related code will be modified to take only the bio. I did

[f2fs-dev] [PATCH 25/35] target: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has the target modules set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie Acked-by: Nicholas Bellinger ---

[f2fs-dev] [PATCH 08/35] btrfs: set bi_op tp REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has btrfs set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. Signed-off-by: Mike Christie --- fs/btrfs/check-integrity.c | 19 +-- fs/btrfs/compression.c | 4 fs/btrfs/disk-io.c |

[f2fs-dev] [PATCH 31/35] block, fs: remove old REQ definitions.

2016-02-24 Thread mchristi
From: Mike Christie We no longer use REQ_WRITE. REQ_WRITE_SAME and REQ_DISCARD, so this patch removes them. Signed-off-by: Mike Christie --- include/linux/blk_types.h | 21 ++--- include/linux/fs.h | 21 +++--

[f2fs-dev] [PATCH 03/35] block, fs, mm, drivers: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch converts the simple bi_rw use cases in the block, drivers, mm and fs code to use bi_op for a REQ_OP and bi_rw for rq_flag_bits. These should be simple one liner cases, so I just did them in one patch. The next patches handle the more

[f2fs-dev] [PATCH 00/35 v4] separate operations from flags in the bio/request structs

2016-02-24 Thread mchristi
point, we abused them so much we just made cmd_flags 64 bits, so we could add more. The following patches seperate the operation (read, write discard, flush, etc) from cmd_flags/bi_rw. This patchset was made against linux-next from today Feb 24 2016 (git tag next-20160224). I put a git tre

[f2fs-dev] [PATCH 28/35] blktrace: get op from req->op/bio->bi_op

2016-02-24 Thread mchristi
From: Mike Christie The bio and request struct now store the operation in bio->bi_op/request->op. This patch has blktrace not check bi_rw/cmd_flags. This patch is only compile tested. Signed-off-by: Mike Christie --- include/linux/blktrace_api.h |

[f2fs-dev] [PATCH 26/35] block: set op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch converts the request related block layer code to set request->op to a REQ_OP and cmd_flags to rq_flag_bits. There is some tmp compat code when setting up cmd_flags so it still carries both the op and flags. It will be removed in in later

[f2fs-dev] [PATCH 24/35] xen: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has xen set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- drivers/block/xen-blkback/blkback.c | 29 + 1 file

[f2fs-dev] [PATCH 34/35] block: add QUEUE_FLAGs for flush and fua

2016-02-24 Thread mchristi
From: Mike Christie The last patch added a REQ_OP_FLUSH for request_fn drivers and the next patch renames REQ_FLUSH to REQ_PREFLUSH which will be used by file systems and make_request_fn drivers. This leaves REQ_FLUSH/REQ_FUA defined for drivers to tell the block layer if

[f2fs-dev] [PATCH 02/35] block: add REQ_OP definitions and bi_op/op fields

2016-02-24 Thread mchristi
From: Mike Christie The following patches separate the operation (write, read, discard, etc) from the flags in bi_rw/cmd_flags. This patch adds definitions for request/bio operations, adds fields to the request/bio to set them, and some temporary compat code so the

[f2fs-dev] [PATCH 23/35] md/raid: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has md/raid set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- drivers/md/bitmap.c | 2 +- drivers/md/dm-raid.c | 5 +++--

[f2fs-dev] [PATCH 19/35] dm: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has dm set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. I did some basic dm tests, but I think this patch should be considered compile tested only. I have not tested all the dm targets and I did not stress every code path I have

[f2fs-dev] [PATCH 04/35] fs: have submit_bh users pass in op and flags separately

2016-02-24 Thread mchristi
From: Mike Christie This has submit_bh users pass in the operation and flags separately, so we can setup the bio->bi_op and bio-bi_rw flags. Signed-off-by: Mike Christie --- drivers/md/bitmap.c | 4 ++-- fs/btrfs/check-integrity.c | 24

[f2fs-dev] [PATCH 35/35] block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH

2016-02-24 Thread mchristi
From: Mike Christie To avoid confusion between REQ_OP_FLUSH, which is handled by request_fn drivers, and upper layers requesting the block layer perform a flush sequence along with possibly a WRITE, this patch renames REQ_FLUSH to REQ_PREFLUSH. Signed-off-by: Mike Christie

[f2fs-dev] [PATCH 30/35] block, fs, drivers: do not test bi_rw for REQ_OPs

2016-02-24 Thread mchristi
From: Mike Christie We no longer use the bio->bi_rw field for REQ_OPs: REQ_WRITE, REQ_DISCARD, REQ_WRITE_SAME, so this patch stops checking for them in bi_rw and also removes the related compat code. v2: 1. Remove compat code in __get_request. Signed-off-by: Mike Christie

[f2fs-dev] [PATCH 22/35] drbd: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has drbd set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. Lars and Philip, I might have split this patch up a little weird. Thisi patch handles setting up the bio, and then patch 30

[f2fs-dev] [PATCH 18/35] pm: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has the pm swap code set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. This patch is compile tested only. Signed-off-by: Mike Christie --- kernel/power/swap.c | 31 +++ 1 file

[f2fs-dev] [PATCH 05/35] fs: have ll_rw_block users pass in op and flags separately

2016-02-24 Thread mchristi
From: Mike Christie This has ll_rw_block users pass in the operation and flags separately, so we can setup the bio->bi_op and bio-bi_rw flags. v2: 1. Fix for kbuild error in ll_rw_block comments. Signed-off-by: Mike Christie --- fs/buffer.c

[f2fs-dev] [PATCH 29/35] ide cd: do not set REQ_WRITE on requests.

2016-02-24 Thread mchristi
From: Mike Christie The block layer will set the correct READ/WRITE operation flags/fields when creating a request, so there is not need for drivers to set the REQ_WRITE flag. This patch is compile tested only. Signed-off-by: Mike Christie ---

[f2fs-dev] [PATCH 15/35] mpage: set bi_op to REQ_OP

2016-02-24 Thread mchristi
From: Mike Christie This patch has the mpage.c code set the bio bi_op to a REQ_OP, and rq_flag_bits to bi_rw. I have run xfstest with xfs, but I am not sure if I have stressed these code paths well. Signed-off-by: Mike Christie --- fs/mpage.c | 41

Re: [f2fs-dev] [PATCH] f2fs: avoid hungtask problem caused by losing wake_up

2016-02-24 Thread hebiao (G)
Hi, Chao, > -Original Message- > From: Chao Yu [mailto:chao2...@samsung.com] > Sent: Wednesday, February 24, 2016 4:05 PM > To: heyunlei; jaeg...@kernel.org; linux-f2fs-devel@lists.sourceforge.net > Cc: Wangbintian; hebiao (G) > Subject: RE: [f2fs-dev] [PATCH] f2fs: avoid hungtask problem

[f2fs-dev] [PATCH 3/3] f2fs: fix incorrect upper bound when iterating inode mapping tree

2016-02-24 Thread Chao Yu
1. Inode mapping tree can index page in range of [0, ULONG_MAX], however, in some places, f2fs only search or iterate page in ragne of [0, LONG_MAX], result in miss hitting in page cache. 2. filemap_fdatawait_range accepts range parameters in unit of bytes, so the max range it covers should be

[f2fs-dev] [PATCH 2/3] f2fs: introduce f2fs_flush_merged_bios for cleanup

2016-02-24 Thread Chao Yu
Add a new helper f2fs_flush_merged_bios to clean up redundant codes. Signed-off-by: Chao Yu --- fs/f2fs/checkpoint.c | 4 +--- fs/f2fs/data.c | 7 +++ fs/f2fs/f2fs.h | 1 + fs/f2fs/super.c | 7 ++- 4 files changed, 11 insertions(+), 8 deletions(-)

[f2fs-dev] [PATCH 1/3] f2fs: introduce f2fs_update_data_blkaddr for cleanup

2016-02-24 Thread Chao Yu
Add a new help f2fs_update_data_blkaddr to clean up redundant codes. Signed-off-by: Chao Yu --- fs/f2fs/data.c | 9 +++-- fs/f2fs/extent_cache.c | 9 ++--- fs/f2fs/f2fs.h | 1 + fs/f2fs/file.c | 15 +++ fs/f2fs/gc.c

Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly

2016-02-24 Thread Junling Zheng
Hi, Fan, On 2016/2/24 15:57, Fan Li wrote: > > >> -Original Message- >> From: Jaegeuk Kim [mailto:jaeg...@kernel.org] >> Sent: Saturday, February 06, 2016 12:08 PM >> To: Fan Li >> Cc: 'Junling Zheng'; heyun...@huawei.com; >> linux-f2fs-devel@lists.sourceforge.net >> Subject: Re:

Re: [f2fs-dev] [PATCH] f2fs: avoid hungtask problem caused by losing wake_up

2016-02-24 Thread Chao Yu
Hi Yunlei, > -Original Message- > From: He YunLei [mailto:heyun...@huawei.com] > Sent: Wednesday, February 24, 2016 3:32 PM > To: Chao Yu; jaeg...@kernel.org; linux-f2fs-devel@lists.sourceforge.net > Cc: bintian.w...@huawei.com; 'Biao He' > Subject: Re: [f2fs-dev] [PATCH] f2fs: avoid