Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-block
Pull block layer updates from Jens Axboe: "This is the first pull request for 4.14, containing most of the code changes. It's a quiet series this round, which I think we needed after the churn of the last few series. This contains: - Fix for a registration race in loop, from Anton Volkov. - Overflow complaint fix from Arnd for DAC960. - Series of drbd changes from the usual suspects. - Conversion of the stec/skd driver to blk-mq. From Bart. - A few BFQ improvements/fixes from Paolo. - CFQ improvement from Ritesh, allowing idling for group idle. - A few fixes found by Dan's smatch, courtesy of Dan. - A warning fixup for a race between changing the IO scheduler and device remova. From David Jeffery. - A few nbd fixes from Josef. - Support for cgroup info in blktrace, from Shaohua. - Also from Shaohua, new features in the null_blk driver to allow it to actually hold data, among other things. - Various corner cases and error handling fixes from Weiping Zhang. - Improvements to the IO stats tracking for blk-mq from me. Can drastically improve performance for fast devices and/or big machines. - Series from Christoph removing bi_bdev as being needed for IO submission, in preparation for nvme multipathing code. - Series from Bart, including various cleanups and fixes for switch fall through case complaints" * 'for-4.14/block' of git://git.kernel.dk/linux-block: (162 commits) kernfs: checking for IS_ERR() instead of NULL drbd: remove BIOSET_NEED_RESCUER flag from drbd_{md_,}io_bio_set drbd: Fix allyesconfig build, fix recent commit drbd: switch from kmalloc() to kmalloc_array() drbd: abort drbd_start_resync if there is no connection drbd: move global variables to drbd namespace and make some static drbd: rename "usermode_helper" to "drbd_usermode_helper" drbd: fix race between handshake and admin disconnect/down drbd: fix potential deadlock when trying to detach during handshake drbd: A single dot should be put into a sequence. drbd: fix rmmod cleanup, remove _all_ debugfs entries drbd: Use setup_timer() instead of init_timer() to simplify the code. drbd: fix potential get_ldev/put_ldev refcount imbalance during attach drbd: new disk-option disable-write-same drbd: Fix resource role for newly created resources in events2 drbd: mark symbols static where possible drbd: Send P_NEG_ACK upon write error in protocol != C drbd: add explicit plugging when submitting batches drbd: change list_for_each_safe to while(list_first_entry_or_null) drbd: introduce drbd_recv_header_maybe_unplug ...
This commit is contained in:
@@ -1090,7 +1090,8 @@ static int rbio_add_io_page(struct btrfs_raid_bio *rbio,
|
||||
*/
|
||||
if (last_end == disk_start && stripe->dev->bdev &&
|
||||
!last->bi_status &&
|
||||
last->bi_bdev == stripe->dev->bdev) {
|
||||
last->bi_disk == stripe->dev->bdev->bd_disk &&
|
||||
last->bi_partno == stripe->dev->bdev->bd_partno) {
|
||||
ret = bio_add_page(last, page, PAGE_SIZE, 0);
|
||||
if (ret == PAGE_SIZE)
|
||||
return 0;
|
||||
@@ -1100,7 +1101,7 @@ static int rbio_add_io_page(struct btrfs_raid_bio *rbio,
|
||||
/* put a new bio on the list */
|
||||
bio = btrfs_io_bio_alloc(bio_max_len >> PAGE_SHIFT ?: 1);
|
||||
bio->bi_iter.bi_size = 0;
|
||||
bio->bi_bdev = stripe->dev->bdev;
|
||||
bio_set_dev(bio, stripe->dev->bdev);
|
||||
bio->bi_iter.bi_sector = disk_start >> 9;
|
||||
|
||||
bio_add_page(bio, page, PAGE_SIZE, 0);
|
||||
@@ -1347,7 +1348,8 @@ static int find_bio_stripe(struct btrfs_raid_bio *rbio,
|
||||
stripe_start = stripe->physical;
|
||||
if (physical >= stripe_start &&
|
||||
physical < stripe_start + rbio->stripe_len &&
|
||||
bio->bi_bdev == stripe->dev->bdev) {
|
||||
bio->bi_disk == stripe->dev->bdev->bd_disk &&
|
||||
bio->bi_partno == stripe->dev->bdev->bd_partno) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user