Skip to content
Permalink
mchristi-redha…

Commits on Jan 5, 2016

  1. block, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  2. block: add QUEUE_FLAGs for flush and fua

    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 flush/fua is supported. The names are
    confusing and I bet will will accidentally be used by
    people to request flushes. To avoid that, this patch adds
    QUEUE_FLAGs for flush and fua which drivers will use to
    indicate what they support.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  3. block, drivers: add REQ_OP_FLUSH operation

    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 driver. I have only tested scsi with xfs and btrfs.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  4. block: shrink bi_rw and bi_op

    There is no need for bi_op/op and bi_rw to be so large
    now, so this patch shrinks them.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  5. block, fs: remove old REQ definitions.

    We no longer use REQ_WRITE. REQ_WRITE_SAME and REQ_DISCARD,
    so this patch removes them.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  6. block, fs, drivers: do not test bi_rw for REQ_OPs

    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.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  7. ide cd: do not set REQ_WRITE on requests.

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  8. blktrace: get op from req->op/bio->bi_op

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  9. drivers: set request op to REQ_OP

    This patch has the block driver use the request->op for REQ_OP
    operations and cmd_flags for rq_flag_bits.
    
    I have only tested scsi and rbd.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  10. block: set op to REQ_OP

    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 patches in this set when I have converted all drivers.
    
    I have not been able to test the mq paths with real mq hardware.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  11. target: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  12. xen: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  13. md/raid: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  14. drbd: set bi_op to REQ_OP

    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
    (0030-block-fs-drivers-do-not-test-bi_rw-for-REQ_OPs.patch) handles
    where were check/read bio->bi_rw.
    
    This patch is compile tested only.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  15. bcache: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  16. dm: pass dm stats data dir instead of bi_rw

    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 dm_stats_account_io is not needed.
    
    This patch has it use the bio and request data_dir helpers
    instead of accessing the bi_rw/cmd_flags directly. This makes
    the next patches that remove the operation from the cmd_flags
    and bi_rw easier, because we will no longer have the REQ_WRITE
    bit set for operations like discards.
    
    This patch is compile tested only.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  17. dm: set bi_op to REQ_OP

    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 touched.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  18. pm: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  19. ocfs2: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  20. nilfs: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  21. mpage: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  22. hfsplus: set bi_op to REQ_OP

    This patch has hfsplus 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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  23. xfs: set bi_op to REQ_OP

    This patch has xfs set the bio bi_op to a REQ_OP, and
    rq_flag_bits to bi_rw.
    
    Note:
    I have run xfs tests on these btrfs patches. There were some failures
    with and without the patches. I have not had time to track down why
    xfstest fails without the patches.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  24. gfs2: set bi_op to REQ_OP

    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 Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  25. f2fs: set bi_op to REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  26. btrfs: don't pass rq_flag_bits if there is a bio

    The bio bi_op and bi_rw is now setup, so there is no need
    to pass around the rq_flag_bits bits too.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  27. btrfs: update __btrfs_map_block for bi_op transition

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  28. btrfs: set bi_op tp REQ_OP

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  29. btrfs: have submit_one_bio users setup bio bi_op

    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
    not do it in this patch to try and keep it smaller.
    
    Note:
    I have run xfs tests on these btrfs patches. There were some failures
    with and without the patches. I have not had time to track down why
    xfstest fails without the patches.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  30. direct-io: set bi_op to REQ_OP

    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.
    The next patch will completely convert all the btrfs code paths.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  31. fs: have ll_rw_block users pass in op and flags separately

    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.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  32. fs: have submit_bh users pass in op and flags separately

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  33. block, fs, mm, drivers: set bi_op to REQ_OP

    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 complicated
    cases in a module per patch.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  34. block: add REQ_OP definitions and bi_op/op fields

    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 kernel/modules can use
    either one. In the final patches this compat code will be removed
    when everything is converted.
    
    Also, in this patch the REQ_OPs match the REQ rq_flag_bits ones
    for compat reasons while all the code is converted in this set. In the
    last patches that will also be removed.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
  35. block/fs/drivers: remove rw argument from submit_bio

    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 <mchristi@redhat.com>
    mikechristie authored and fengguang committed Jan 5, 2016
Older
You can’t perform that action at this time.