[PATCH 11/45] btrfs: have submit_one_bio users use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie This patch has btrfs's submit_one_bio users set the bio op using bio_set_op_attrs and get the op using bio_op. 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

[PATCH 09/45] block discard: use bio set op accessor

2016-06-05 Thread mchristi
From: Mike Christie This converts the block issue discard helper and users to use the bio_set_op_attrs accessor and only pass in the operation flags like REQ_SEQURE. Signed-off-by: Mike Christie --- block/blk-lib.c| 13 +++--

[PATCH 08/45] block, fs, mm, drivers: use bio set/get op accessors

2016-06-05 Thread mchristi
From: Mike Christie This patch converts the simple bi_rw use cases in the block, drivers, mm and fs code to set/get the bio operation using bio_set_op_attrs/bio_op These should be simple one or two liner cases, so I just did them in one patch. The next patches handle the

[PATCH 10/45] direct-io: use bio set/get op accessors

2016-06-05 Thread mchristi
From: Mike Christie This patch has the dio code use a REQ_OP for the op and rq_flag_bits for bi_rw flags. To set/get the op it uses the bio_set_op_attrs/bio_op accssors. It also begins to convert btrfs's dio_submit_t because of the dio submit_io callout use. The next

[PATCH 15/45] f2fs: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have f2fs set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 13/45] btrfs: update __btrfs_map_block for REQ_OP transition

2016-06-05 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 Reviewed-by: Christoph

[PATCH 12/45] btrfs: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie This should be the easier cases to convert btrfs to bio_set_op_attrs/bio_op. They are mostly just cut and replace type of changes. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes

[PATCH 00/45] v8: separate operations from flags in the bio/request structs

2016-06-05 Thread mchristi
The following patches begin to cleanup the request->cmd_flags and bio->bi_rw mess. We currently use cmd_flags to specify the operation, attributes and state of the request. For bi_rw we use it for similar info and also the priority but then also have another bi_flags field for state. At some

[PATCH 18/45] hfsplus: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have gfs2 set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 30/45] block: copy bio op to request op

2016-06-05 Thread mchristi
From: Mike Christie The bio users should now always be setting up the bio op. This patch has the block layer copy that to the request. Signed-off-by: Mike Christie --- block/blk-core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff

[PATCH 32/45] block: prepare mq request creation to use REQ_OPs

2016-06-05 Thread mchristi
From: Mike Christie This patch modifies the blk mq request creation code to use separate variables for the operation and flags, because in the the next patches the struct request users will be converted like was done for bios. Signed-off-by: Mike Christie

[PATCH 22/45] pm: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have the pm code set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 06/45] dm: use op_is_write instead of checking for REQ_WRITE

2016-06-05 Thread mchristi
From: Mike Christie We currently set REQ_WRITE/WRITE for all non READ IOs like discard, flush, writesame, etc. In the next patches where we no longer set up the op as a bitmap, we will not be able to detect a operation direction like writesame by testing if REQ_WRITE is set.

[PATCH 17/45] xfs: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have xfs set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie --- v8: 1. Handled changes due to rebase and dropped signed offs due to upstream changes since last

[PATCH 27/45] md: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have md set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 24/45] dm: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have dm set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie v8: - Moved op_is_write changes to its own patch. - Dropped signed offs due to changes in dm. ---

[PATCH 19/45] mpage: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have the mpage code set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 26/45] drbd: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have drbd set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- v8: 1.

[PATCH 01/45] block/fs/drivers: remove rw argument from submit_bio

2016-06-05 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. Signed-off-by: Mike Christie --- v8: 1. Fix bug

[PATCH 14/45] btrfs: use bio fields for op and flags

2016-06-05 Thread mchristi
From: Mike Christie The bio REQ_OP and bi_rw rq_flag_bits are now always setup, so there is no need to pass around the rq_flag_bits bits too. btrfs users should should access the bio insead. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 04/45] fs: have ll_rw_block users pass in op and flags separately

2016-06-05 Thread mchristi
From: Mike Christie This has ll_rw_block users pass in the operation and flags separately, so ll_rw_block can setup the bio op and bi_rw flags on the bio that is submitted. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 16/45] gfs2: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have gfs2 set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 03/45] fs: have submit_bh users pass in op and flags separately

2016-06-05 Thread mchristi
From: Mike Christie This has submit_bh users pass in the operation and flags separately, so submit_bh_wbc can setup the bio op and bi_rw flags on the bio that is submitted. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 20/45] nilfs: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have nilfs set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Acked-by:

[PATCH 05/45] block, drivers, cgroup: use op_is_write helper instead of checking for REQ_WRITE

2016-06-05 Thread mchristi
From: Mike Christie We currently set REQ_WRITE/WRITE for all non READ IOs like discard, flush, writesame, etc. In the next patches where we no longer set up the op as a bitmap, we will not be able to detect a operation direction like writesame by testing if REQ_WRITE is set.

[PATCH 25/45] bcache: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have bcache set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie --- drivers/md/bcache/btree.c | 4 ++-- drivers/md/bcache/debug.c | 4 ++--

[PATCH 29/45] xen: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have xen set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 02/45] block: add REQ_OP definitions and helpers

2016-06-05 Thread mchristi
From: Mike Christie The following patches separate the operation (WRITE, READ, DISCARD, etc) from the rq_flag_bits flags. This patch adds definitions for request/bio operations (REQ_OPs) and adds request/bio accessors to get/set the op. In this patch the REQ_OPs match the

[PATCH 31/45] block: prepare request creation/destruction code to use REQ_OPs

2016-06-05 Thread mchristi
From: Mike Christie This patch prepares *_get_request/*_put_request and freed_request, to use separate variables for the operation and flags. In the next patches the struct request users will be converted like was done for bios where the op and flags are set separately.

[PATCH 07/45] bcache: use op_is_write instead of checking for REQ_WRITE

2016-06-05 Thread mchristi
From: Mike Christie We currently set REQ_WRITE/WRITE for all non READ IOs like discard, flush, writesame, etc. In the next patches where we no longer set up the op as a bitmap, we will not be able to detect a operation direction like writesame by testing if REQ_WRITE is set.

[PATCH 35/45] block: convert merge/insert code to check for REQ_OPs.

2016-06-05 Thread mchristi
From: Mike Christie This patch converts the block layer merging code to use separate variables for the operation and flags, and to check req_op for the REQ_OP. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by:

[PATCH 33/45] block: prepare elevator to use REQ_OPs.

2016-06-05 Thread mchristi
From: Mike Christie This patch converts the elevator code to use separate variables for the operation and flags, and to check req_op for the REQ_OP. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke

[PATCH 21/45] ocfs2: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have ocfs2 set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 39/45] ide cd: do not set REQ_WRITE on requests.

2016-06-05 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. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 23/45] dm: pass dm stats data dir instead of bi_rw

2016-06-05 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

[PATCH 28/45] target: use bio op accessors

2016-06-05 Thread mchristi
From: Mike Christie Separate the op from the rq_flag_bits and have the target layer set/get the bio using bio_set_op_attrs/bio_op. Signed-off-by: Mike Christie --- drivers/target/target_core_iblock.c | 29 ++---

[PATCH 41/45] block, drivers, fs: shrink bi_rw from long to int

2016-06-05 Thread mchristi
From: Mike Christie We don't need bi_rw to be so large on 64 bit archs, so reduce it to unsigned int. Signed-off-by: Mike Christie --- block/blk-core.c | 2 +- drivers/md/dm-flakey.c | 2 +- drivers/md/raid5.c | 6 +++---

[PATCH 44/45] block: do not use REQ_FLUSH for tracking flush support

2016-06-05 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 so they can send a write/flush combo. This patch drops xen's use of REQ_FLUSH

[PATCH 37/45] drivers: use req op accessor

2016-06-05 Thread mchristi
From: Mike Christie The req operation REQ_OP is separated from the rq_flag_bits definition. This converts the block layer drivers to use req_op to get the op from the request struct. Signed-off-by: Mike Christie --- drivers/block/loop.c |

[PATCH 40/45] block: move bio io prio to a new field

2016-06-05 Thread mchristi
From: Mike Christie In the next patch, we move drop the compat code and make the op a separate value that is hidden in bi_rw. To give the op and rq bits flags room to grow this moves prio to its own field. Signed-off-by: Mike Christie ---

[PATCH 38/45] blktrace: use op accessors

2016-06-05 Thread mchristi
From: Mike Christie Have blktrace use the req/bio op accessor to get the REQ_OP. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- v8: 1. Fix REQ_OP_WRITE_SAME handling, so it is

[PATCH 34/45] blkg_rwstat: separate op from flags

2016-06-05 Thread mchristi
From: Mike Christie The bio and request operation and flags are going to be separate definitions, so we cannot pass them in as a bitmap. This patch converts the blkg_rwstat code and its caller, cfq, to pass in the values separately. Signed-off-by: Mike Christie

[PATCH 36/45] block: convert is_sync helpers to use REQ_OPs.

2016-06-05 Thread mchristi
From: Mike Christie This patch converts the is_sync helpers to use separate variables for the operation and flags. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 45/45] block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH

2016-06-05 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

[PATCH 42/45] block, fs, drivers: remove REQ_OP compat defs and related code

2016-06-05 Thread mchristi
From: Mike Christie This patch drops the compat definition of req_op where it matches the rq_flag_bits definitions, and drops the related old and compat code that allowed users to set either the op or flags for the operation. We also then store the operation in the

[PATCH 43/45] block, drivers: add REQ_OP_FLUSH operation

2016-06-05 Thread mchristi
From: Mike Christie This adds a REQ_OP_FLUSH operation that is sent to request_fn based drivers by the block layer's flush code, instead of sending requests with the request->cmd_flags REQ_FLUSH bit set. Signed-off-by: Mike Christie Reviewed-by:

[PATCH 01/42] block/fs/drivers: remove rw argument from submit_bio

2016-04-15 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. v5: 1. Missed crypto fs submit_bio_wait call. v2: 1. Set bi_rw instead

[PATCH 04/42] fs: have submit_bh users pass in op and flags separately

2016-04-15 Thread mchristi
From: Mike Christie This has submit_bh users pass in the operation and flags separately, so submit_bh_wbc can setup bio->bi_op and bio-bi_rw on the bio that is submitted. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 03/42] block, fs, mm, drivers: set bi_op to REQ_OP

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

[PATCH 02/42] block: add REQ_OP definitions and bi_op/op fields

2016-04-15 Thread mchristi
From: Mike Christie The following patches separate the operation (write, read, discard, etc) from the rq_flag_bits 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 kernel/modules

[PATCH 07/42] btrfs: have submit_one_bio users setup bio bi_op

2016-04-15 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

[PATCH 00/42] v7: separate operations from flags in the bio/request structs

2016-04-15 Thread mchristi
The following patches begin to cleanup the request->cmd_flags and bio->bi_rw mess. We currently use cmd_flags to specify the operation, attributes and state of the request. For bi_rw we use it for similar info and also the priority but then also have another bi_flags field for state. At some

[PATCH 22/42] drbd: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has drbd use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Lars and Philip, I might have split this patch up a little weird. The block layer has compat so you can set either bi_rw or bi_op. This patch handles setting up the bio in

[PATCH 15/42] mpage: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has mpage.c use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/mpage.c | 41

[PATCH 09/42] btrfs: update __btrfs_map_block for bi_op transition

2016-04-15 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 Reviewed-by: Christoph

[PATCH 16/42] nilfs: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has nilfs use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/nilfs2/segbuf.c | 18

[PATCH 10/42] btrfs: use bio fields for op and flags

2016-04-15 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. btrfs users should should access the bio. v2: 1. Fix merge_bio issue where instead of removing rw/op argument I passed it in again to the merge_bio

[PATCH 13/42] xfs: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has xfs use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Acked-by: Dave Chinner

[PATCH 24/42] xen: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has the xen block driver use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 19/42] dm: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has dm use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/md/dm-bufio.c

[PATCH 18/42] pm: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has the pm code use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- kernel/power/swap.c |

[PATCH 26/42] block: copy bio op to request op

2016-04-15 Thread mchristi
From: Mike Christie The bio users should now always be setting up the bio->bi_op. This patch has us copy that to the struct request op field. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke

[PATCH 25/42] target: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has the target modules use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Acked-by: Nicholas

[PATCH 23/42] md/raid: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has md use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/md/bitmap.c | 2

[PATCH 05/42] fs: have ll_rw_block users pass in op and flags separately

2016-04-15 Thread mchristi
From: Mike Christie This has ll_rw_block users pass in the operation and flags separately, so ll_rw_block can setup bio->bi_op and bio-bi_rw on the bio that is submitted. v2: 1. Fix for kbuild error in ll_rw_block comments. Signed-off-by: Mike Christie

[PATCH 21/42] bcache: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has bcache use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- drivers/md/bcache/btree.c

[PATCH 20/42] dm: pass dm stats data dir instead of bi_rw

2016-04-15 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

[PATCH 12/42] gfs2: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has gfs2 use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/gfs2/log.c| 8

[PATCH 14/42] hfsplus: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has hfsplus use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/hfsplus/hfsplus_fs.h |

[PATCH 11/42] f2fs: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has f2fs use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/f2fs/checkpoint.c|

[PATCH 17/42] ocfs2: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has ocfs2 use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke --- fs/ocfs2/cluster/heartbeat.c

[PATCH 08/42] btrfs: set bi_op tp REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has btrfs use the bio bi_op for REQ_OP and bi_rw for rq_flag_bits. v5: - Misset bi_rw to REQ_OP_WRITE in finish_parity_scrub Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes

[PATCH 33/42] block: convert rq_data_dir helper to use REQ_OPs

2016-04-15 Thread mchristi
From: Mike Christie The request->op field is now always setup up with a REQ_OP. This patch has the rq_data_dir helper convert the operation to a WRITE or READ direction based on that. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 37/42] block, fs, drivers: do use bi_rw/cmd_flags for REQ_OPs.

2016-04-15 Thread mchristi
From: Mike Christie We no longer use the bio->bi_rw and request->cmd_flags field for REQ_OPs: REQ_WRITE, REQ_DISCARD, REQ_WRITE_SAME, so this patch stops checking for them in bi_rw/cmd_flags and also removes the related compat code. v2: 1. Remove compat code in

[PATCH 32/42] block: convert is_sync helpers to use REQ_OPs.

2016-04-15 Thread mchristi
From: Mike Christie This patch converts the is_sync helpers to use separate variables for the operation and flags. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 30/42] blkg_rwstat: separate op from flags

2016-04-15 Thread mchristi
From: Mike Christie The bio and request operation and flags are going to be separate definitions, so we cannot pass them in as a bitmap. This patch converts the blkg_rwstat code and its caller, cfq, to pass in the values separately. Signed-off-by: Mike Christie

[PATCH 28/42] block: prepare mq request creation to use REQ_OPs

2016-04-15 Thread mchristi
From: Mike Christie This patch modifies the blk mq request creation code to use separate variables for the operation and flags, because in the the next patches the struct request users will be converted like was done for bios. request->op will be used for the REQ_OP and

[PATCH 40/42] block, drivers: add REQ_OP_FLUSH operation

2016-04-15 Thread mchristi
From: Mike Christie This adds a REQ_OP_FLUSH operation that is sent to request_fn based drivers by the block layer's flush code, instead of sending requests with the request->cmd_flags REQ_FLUSH bit set. For the following 3 flush related patches, I have not tested every

[PATCH 35/42] blktrace: get op from req->op/bio->bi_op

2016-04-15 Thread mchristi
From: Mike Christie The bio and request structs now store the operation in bio->bi_op/request->op. This patch has blktrace use that field instead of bi_rw/cmd_flags. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by:

[PATCH 27/42] block: prepare request creation/destruction code to use REQ_OPs

2016-04-15 Thread mchristi
From: Mike Christie This patch prepares *_get_request/*_put_request and freed_request, to use separate variables for the operation and flags. In the next patches the struct request users will be converted like was done for bios. request->op will be used for the REQ_OP and

[PATCH 39/42] block: shrink bio/request fields

2016-04-15 Thread mchristi
From: Mike Christie bi_op only needed to be a int for temp compat reasons, so this patch shrinks it to u8. There is no need for bi_rw to be so large now, so that is reduced to a unsigned int and bi_ioprio is just put in its own field. Signed-off-by: Mike Christie

[PATCH 38/42] block, fs: remove old REQ definitions.

2016-04-15 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 Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 29/42] block: prepare elevator to use REQ_OPs.

2016-04-15 Thread mchristi
From: Mike Christie This patch converts the elevator code to use separate variables for the operation and flags, and to check request->op for the REQ_OP. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes

[PATCH 34/42] drivers: set request op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has the block drivers use the request->op for REQ_OP operations and cmd_flags for rq_flag_bits. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke ---

[PATCH 31/42] block: convert merge/insert code to check for REQ_OPs.

2016-04-15 Thread mchristi
From: Mike Christie This patch converts the block layer merging code to use separate variables for the operation and flags, and to check request->op for the REQ_OP. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by:

[PATCH 42/42] block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH

2016-04-15 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

[PATCH 36/42] ide cd: do not set REQ_WRITE on requests.

2016-04-15 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. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 41/42] block: do not use REQ_FLUSH for tracking flush support

2016-04-15 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 so they can send a write/flush combo. This patch drops xen's use of REQ_FLUSH

[PATCH 06/42] direct-io: set bi_op to REQ_OP

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

[PATCH 01/42] block/fs/drivers: remove rw argument from submit_bio

2016-04-15 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. v5: 1. Missed crypto fs submit_bio_wait call. v2: 1. Set bi_rw instead

[PATCH 13/42] xfs: set bi_op to REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has xfs use bio->bi_op for REQ_OPs and rq_flag_bits to bio->bi_rw. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Acked-by: Dave Chinner

[PATCH 06/42] direct-io: set bi_op to REQ_OP

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

[PATCH 05/42] fs: have ll_rw_block users pass in op and flags separately

2016-04-15 Thread mchristi
From: Mike Christie This has ll_rw_block users pass in the operation and flags separately, so ll_rw_block can setup bio->bi_op and bio-bi_rw on the bio that is submitted. v2: 1. Fix for kbuild error in ll_rw_block comments. Signed-off-by: Mike Christie

[PATCH 00/42] v6: separate operations from flags in the bio/request structs

2016-04-15 Thread mchristi
The following patches begin to cleanup the request->cmd_flags and bio->bi_rw mess. We currently use cmd_flags to specify the operation, attributes and state of the request. For bi_rw we use it for similar info and also the priority but then also have another bi_flags field for state. At some

[PATCH 04/42] fs: have submit_bh users pass in op and flags separately

2016-04-15 Thread mchristi
From: Mike Christie This has submit_bh users pass in the operation and flags separately, so submit_bh_wbc can setup bio->bi_op and bio-bi_rw on the bio that is submitted. Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig

[PATCH 02/42] block: add REQ_OP definitions and bi_op/op fields

2016-04-15 Thread mchristi
From: Mike Christie The following patches separate the operation (write, read, discard, etc) from the rq_flag_bits 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 kernel/modules

[PATCH 03/42] block, fs, mm, drivers: set bi_op to REQ_OP

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

[PATCH 07/42] btrfs: have submit_one_bio users setup bio bi_op

2016-04-15 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

[PATCH 08/42] btrfs: set bi_op tp REQ_OP

2016-04-15 Thread mchristi
From: Mike Christie This patch has btrfs use the bio bi_op for REQ_OP and bi_rw for rq_flag_bits. v5: - Misset bi_rw to REQ_OP_WRITE in finish_parity_scrub Signed-off-by: Mike Christie Reviewed-by: Christoph Hellwig Reviewed-by: Hannes

[PATCH 10/42] btrfs: use bio fields for op and flags

2016-04-15 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. btrfs users should should access the bio. v2: 1. Fix merge_bio issue where instead of removing rw/op argument I passed it in again to the merge_bio

  1   2   3   >