From: Dongsu Park
Update block/biovecs.txt so that it includes a note on what kind of
effects arbitrarily sized bios would bring to the block layer.
Also fix a trivial typo, bio_iter_iovec.
Cc: Christoph Hellwig
Cc: Kent Overstreet
Cc: Jonathan Corbet
Cc: linux-...@vger.kernel.org
From: Ming Lin
The split code in blkdev_issue_discard() can go away now
that any driver that cares does the split.
Signed-off-by: Ming Lin
---
block/blk-lib.c | 73 +++--
1 file changed, 14 insertions(+), 59 deletions(-)
diff --git
From: Kent Overstreet
We can always fill up the bio now, no need to estimate the possible
size based on queue parameters.
Signed-off-by: Kent Overstreet
[hch: rebased and wrote a changelog]
Signed-off-by: Christoph Hellwig
Signed-off-by: Ming Lin
---
block/bio.c| 23
From: Kent Overstreet
The bcache driver has always accepted arbitrarily large bios and split
them internally. Now that every driver must accept arbitrarily large
bios this code isn't nessecary anymore.
Cc: linux-bca...@vger.kernel.org
Signed-off-by: Kent Overstreet
[dpark: add more
From: Kent Overstreet
As generic_make_request() is now able to handle arbitrarily sized bios,
it's no longer necessary for each individual block driver to define its
own ->merge_bvec_fn() callback. Remove every invocation completely.
Cc: Jens Axboe
Cc: Lars Ellenberg
Cc:
From: Kent Overstreet
Remove bio_fits_rdev() as sufficient merge_bvec_fn() handling is now
performed by blk_queue_split() in md_make_request().
Cc: Neil Brown
Cc: linux-r...@vger.kernel.org
Acked-by: NeilBrown
Signed-off-by: Kent Overstreet
[dpark: add more description in commit message]
From: Kent Overstreet
Since generic_make_request() can now handle arbitrary size bios, all we
have to do is make sure the bvec array doesn't overflow.
__bio_add_page() doesn't need to call ->merge_bvec_fn(), where
we can get rid of unnecessary code paths.
Removing the call to ->merge_bvec_fn()
From: Kent Overstreet
Btrfs has been doing bio splitting from btrfs_map_bio(), by checking
device limits as well as calling ->merge_bvec_fn() etc. That is not
necessary any more, because generic_make_request() is now able to
handle arbitrarily sized bios. So clean up unnecessary code paths.
Cc:
From: Kent Overstreet
Call pre-defined helper bio_add_page() instead of open coding for
iterating through bi_io_vec[]. Doing that, it's possible to make some
parts in filesystems and mm/page_io.c simpler than before.
Acked-by: Dave Kleikamp
Cc: Christoph Hellwig
Cc: Al Viro
Cc:
From: Kent Overstreet
The way the block layer is currently written, it goes to great lengths
to avoid having to split bios; upper layer code (such as bio_add_page())
checks what the underlying device can handle and tries to always create
bios that don't need to be split.
But this approach
From: Ming Lin
If a read request fits entirely in a chunk, it will be passed directly to the
underlying device (providing it hasn't failed of course). If it doesn't fit,
the slightly less efficient path that uses the stripe_cache is used.
Requests that get to the stripe cache are always
lso available in my git repo at:
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=block-generic-req
git://git.kernel.org/pub/scm/linux/kernel/git/mlin/linux.git block-generic-req
This patchset is a prerequisite of other consecutive patchsets, e.g.
multipage biovecs, rewriti
From: Ming Lin min...@ssi.samsung.com
If a read request fits entirely in a chunk, it will be passed directly to the
underlying device (providing it hasn't failed of course). If it doesn't fit,
the slightly less efficient path that uses the stripe_cache is used.
Requests that get to the stripe
From: Kent Overstreet kent.overstr...@gmail.com
Call pre-defined helper bio_add_page() instead of open coding for
iterating through bi_io_vec[]. Doing that, it's possible to make some
parts in filesystems and mm/page_io.c simpler than before.
Acked-by: Dave Kleikamp sha...@kernel.org
Cc:
From: Kent Overstreet kent.overstr...@gmail.com
The way the block layer is currently written, it goes to great lengths
to avoid having to split bios; upper layer code (such as bio_add_page())
checks what the underlying device can handle and tries to always create
bios that don't need to be split.
From: Kent Overstreet kent.overstr...@gmail.com
Btrfs has been doing bio splitting from btrfs_map_bio(), by checking
device limits as well as calling -merge_bvec_fn() etc. That is not
necessary any more, because generic_make_request() is now able to
handle arbitrarily sized bios. So clean up
From: Kent Overstreet kent.overstr...@gmail.com
Remove bio_fits_rdev() as sufficient merge_bvec_fn() handling is now
performed by blk_queue_split() in md_make_request().
Cc: Neil Brown ne...@suse.de
Cc: linux-r...@vger.kernel.org
Acked-by: NeilBrown ne...@suse.de
Signed-off-by: Kent Overstreet
for stacking block drivers (e.g. md
and bcache) to handle merging bio consistently. This simplication will
help every individual block driver avoid having such an issue.
Patches are against 4.2-rc1. These are also available in my git repo at:
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git
From: Kent Overstreet kent.overstr...@gmail.com
Since generic_make_request() can now handle arbitrary size bios, all we
have to do is make sure the bvec array doesn't overflow.
__bio_add_page() doesn't need to call -merge_bvec_fn(), where
we can get rid of unnecessary code paths.
Removing the
From: Kent Overstreet kent.overstr...@gmail.com
As generic_make_request() is now able to handle arbitrarily sized bios,
it's no longer necessary for each individual block driver to define its
own -merge_bvec_fn() callback. Remove every invocation completely.
Cc: Jens Axboe ax...@kernel.dk
Cc:
From: Kent Overstreet kent.overstr...@gmail.com
The bcache driver has always accepted arbitrarily large bios and split
them internally. Now that every driver must accept arbitrarily large
bios this code isn't nessecary anymore.
Cc: linux-bca...@vger.kernel.org
Signed-off-by: Kent Overstreet
From: Ming Lin min...@ssi.samsung.com
The split code in blkdev_issue_discard() can go away now
that any driver that cares does the split.
Signed-off-by: Ming Lin min...@ssi.samsung.com
---
block/blk-lib.c | 73 +++--
1 file changed, 14
From: Kent Overstreet kent.overstr...@gmail.com
We can always fill up the bio now, no need to estimate the possible
size based on queue parameters.
Signed-off-by: Kent Overstreet kent.overstr...@gmail.com
[hch: rebased and wrote a changelog]
Signed-off-by: Christoph Hellwig h...@lst.de
From: Dongsu Park dp...@posteo.net
Update block/biovecs.txt so that it includes a note on what kind of
effects arbitrarily sized bios would bring to the block layer.
Also fix a trivial typo, bio_iter_iovec.
Cc: Christoph Hellwig h...@infradead.org
Cc: Kent Overstreet kent.overstr...@gmail.com
24 matches
Mail list logo