compat.patch (drbd-9.1.10) | : | compat.patch (drbd-9.1.11) | ||
---|---|---|---|---|
--- ./drbd_int.h | --- ./drbd_int.h | |||
+++ /tmp/cocci-output-396866-65fda9-drbd_int.h | ||||
@@ -1886,7 +1886,7 @@ extern void do_submit(struct work_struct | @@ -1886,7 +1886,7 @@ extern void do_submit(struct work_struct | |||
#define __drbd_make_request(d,b,k,j) __drbd_make_request(d,b,j) | #define __drbd_make_request(d,b,k,j) __drbd_make_request(d,b,j) | |||
#endif | #endif | |||
extern void __drbd_make_request(struct drbd_device *, struct bio *, ktime_t, un signed long); | extern void __drbd_make_request(struct drbd_device *, struct bio *, ktime_t, un signed long); | |||
-extern void drbd_submit_bio(struct bio *bio); | -extern void drbd_submit_bio(struct bio *bio); | |||
+extern blk_qc_t drbd_submit_bio(struct bio *bio); | +extern blk_qc_t drbd_submit_bio(struct bio *bio); | |||
enum drbd_force_detach_flags { | enum drbd_force_detach_flags { | |||
DRBD_READ_ERROR, | DRBD_READ_ERROR, | |||
--- drbd_req.c | --- drbd_req.c | |||
+++ /tmp/cocci-output-396866-083e43-drbd_req.c | @@ -1276,7 +1276,7 @@ static bool remote_due_to_read_balancing | |||
@@ -1267,7 +1267,7 @@ static bool remote_due_to_read_balancing | ||||
switch (rbm) { | switch (rbm) { | |||
case RB_CONGESTED_REMOTE: | case RB_CONGESTED_REMOTE: | |||
return bdi_read_congested( | return bdi_read_congested( | |||
- device->ldev->backing_bdev->bd_disk->bdi); | - device->ldev->backing_bdev->bd_disk->bdi); | |||
+ device->ldev->backing_bdev->bd_disk->queue->backing_dev_i nfo); | + device->ldev->backing_bdev->bd_disk->queue->backing_dev_i nfo); | |||
case RB_LEAST_PENDING: | case RB_LEAST_PENDING: | |||
return atomic_read(&device->local_cnt) > | return atomic_read(&device->local_cnt) > | |||
atomic_read(&peer_device->ap_pending_cnt) + atomic_read(& peer_device->rs_pending_cnt); | atomic_read(&peer_device->ap_pending_cnt) + atomic_read(& peer_device->rs_pending_cnt); | |||
@@ -2396,7 +2396,7 @@ static bool drbd_fail_request_early(stru | @@ -2405,7 +2405,7 @@ static bool drbd_fail_request_early(stru | |||
return false; | return false; | |||
} | } | |||
-void drbd_submit_bio(struct bio *bio) | -void drbd_submit_bio(struct bio *bio) | |||
+blk_qc_t drbd_submit_bio(struct bio *bio) | +blk_qc_t drbd_submit_bio(struct bio *bio) | |||
{ | { | |||
struct drbd_device *device = bio->bi_bdev->bd_disk->private_data; | struct drbd_device *device = bio->bi_bdev->bd_disk->private_data; | |||
#ifdef CONFIG_DRBD_TIMING_STATS | #ifdef CONFIG_DRBD_TIMING_STATS | |||
@@ -2407,7 +2407,7 @@ void drbd_submit_bio(struct bio *bio) | @@ -2416,7 +2416,7 @@ void drbd_submit_bio(struct bio *bio) | |||
if (drbd_fail_request_early(device, bio)) { | if (drbd_fail_request_early(device, bio)) { | |||
bio->bi_status = BLK_STS_IOERR; | bio->bi_status = BLK_STS_IOERR; | |||
bio_endio(bio); | bio_endio(bio); | |||
- return; | - return; | |||
+ return BLK_QC_T_NONE; | + return BLK_QC_T_NONE; | |||
} | } | |||
blk_queue_split(&bio); | blk_queue_split(&bio); | |||
@@ -2415,7 +2415,7 @@ void drbd_submit_bio(struct bio *bio) | @@ -2424,7 +2424,7 @@ void drbd_submit_bio(struct bio *bio) | |||
if (device->cached_err_io) { | if (device->cached_err_io) { | |||
bio->bi_status = BLK_STS_IOERR; | bio->bi_status = BLK_STS_IOERR; | |||
bio_endio(bio); | bio_endio(bio); | |||
- return; | - return; | |||
+ return BLK_QC_T_NONE; | + return BLK_QC_T_NONE; | |||
} | } | |||
/* This is both an optimization: READ of size 0, nothing to do | /* This is both an optimization: READ of size 0, nothing to do | |||
@@ -2427,13 +2427,14 @@ void drbd_submit_bio(struct bio *bio) | @@ -2436,13 +2436,14 @@ void drbd_submit_bio(struct bio *bio) | |||
if (bio_op(bio) == REQ_OP_READ && bio->bi_iter.bi_size == 0) { | if (bio_op(bio) == REQ_OP_READ && bio->bi_iter.bi_size == 0) { | |||
WARN_ONCE(1, "size zero read from upper layers"); | WARN_ONCE(1, "size zero read from upper layers"); | |||
bio_endio(bio); | bio_endio(bio); | |||
- return; | - return; | |||
+ return BLK_QC_T_NONE; | + return BLK_QC_T_NONE; | |||
} | } | |||
ktime_get_accounting(start_kt); | ktime_get_accounting(start_kt); | |||
start_jif = jiffies; | start_jif = jiffies; | |||
__drbd_make_request(device, bio, start_kt, start_jif); | __drbd_make_request(device, bio, start_kt, start_jif); | |||
+ return BLK_QC_T_NONE; | + return BLK_QC_T_NONE; | |||
} | } | |||
static unsigned long time_min_in_future(unsigned long now, | static unsigned long time_min_in_future(unsigned long now, | |||
--- drbd_receiver.c | --- drbd_receiver.c | |||
+++ /tmp/cocci-output-396866-89f92d-drbd_receiver.c | ||||
@@ -1294,8 +1294,7 @@ static void one_flush_endio(struct bio * | @@ -1294,8 +1294,7 @@ static void one_flush_endio(struct bio * | |||
static void submit_one_flush(struct drbd_device *device, struct issue_flush_con text *ctx) | static void submit_one_flush(struct drbd_device *device, struct issue_flush_con text *ctx) | |||
{ | { | |||
- struct bio *bio = bio_alloc(device->ldev->backing_bdev, 0, | - struct bio *bio = bio_alloc(device->ldev->backing_bdev, 0, | |||
- REQ_OP_FLUSH | REQ_PREFLUSH, GFP_NOIO); | - REQ_OP_FLUSH | REQ_PREFLUSH, GFP_NOIO); | |||
+ struct bio *bio = bio_alloc(GFP_NOIO, 0); | + struct bio *bio = bio_alloc(GFP_NOIO, 0); | |||
struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO); | struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO); | |||
if (!octx) { | if (!octx) { | |||
skipping to change at line 119 | skipping to change at line 119 | |||
+ bio_set_dev(bio, device->ldev->backing_bdev); | + bio_set_dev(bio, device->ldev->backing_bdev); | |||
/* > peer_req->i.sector, unless this is the first bio */ | /* > peer_req->i.sector, unless this is the first bio */ | |||
bio->bi_iter.bi_sector = sector; | bio->bi_iter.bi_sector = sector; | |||
bio->bi_private = peer_req; | bio->bi_private = peer_req; | |||
bio->bi_end_io = drbd_peer_request_endio; | bio->bi_end_io = drbd_peer_request_endio; | |||
+ bio->bi_opf = peer_req->opf; | + bio->bi_opf = peer_req->opf; | |||
bio->bi_next = bios; | bio->bi_next = bios; | |||
bios = bio; | bios = bio; | |||
--- drbd_nl.c | --- drbd_nl.c | |||
+++ /tmp/cocci-output-396866-61319b-drbd_nl.c | ||||
@@ -1940,7 +1940,7 @@ static void decide_on_discard_support(st | @@ -1940,7 +1940,7 @@ static void decide_on_discard_support(st | |||
*/ | */ | |||
bool can_do = b ? blk_queue_discard(b) : true; | bool can_do = b ? blk_queue_discard(b) : true; | |||
- if (can_do && b && !queue_discard_zeroes_data(b) && !discard_zeroes_if_al igned) { | - if (can_do && b && !queue_discard_zeroes_data(b) && !discard_zeroes_if_al igned) { | |||
+ if (can_do && b && 1/* !queue_discard_zeroes_data(q) */ && !discard_zeroe s_if_aligned) { | + if (can_do && b && 1/* !queue_discard_zeroes_data(q) */ && !discard_zeroe s_if_aligned) { | |||
can_do = false; | can_do = false; | |||
drbd_info(device, "discard_zeroes_data=0 and discard_zeroes_if_al igned=no: disabling discards\n"); | drbd_info(device, "discard_zeroes_data=0 and discard_zeroes_if_al igned=no: disabling discards\n"); | |||
} | } | |||
@@ -2090,7 +2090,7 @@ static void drbd_setup_queue_param(struc | @@ -2090,7 +2090,7 @@ static void drbd_setup_queue_param(struc | |||
skipping to change at line 157 | skipping to change at line 157 | |||
@@ -5513,7 +5513,7 @@ static void device_to_statistics(struct | @@ -5513,7 +5513,7 @@ static void device_to_statistics(struct | |||
s->dev_disk_flags = md->flags; | s->dev_disk_flags = md->flags; | |||
s->dev_lower_blocked = | s->dev_lower_blocked = | |||
- bdi_congested(device->ldev->backing_bdev->bd_disk->bdi, | - bdi_congested(device->ldev->backing_bdev->bd_disk->bdi, | |||
+ bdi_congested(device->ldev->backing_bdev->bd_disk->queue- >backing_dev_info, | + bdi_congested(device->ldev->backing_bdev->bd_disk->queue- >backing_dev_info, | |||
(1 << WB_async_congested) | | (1 << WB_async_congested) | | |||
(1 << WB_sync_congested)); | (1 << WB_sync_congested)); | |||
put_ldev(device); | put_ldev(device); | |||
--- drbd_main.c | --- drbd_main.c | |||
+++ /tmp/cocci-output-396866-4ff0cf-drbd_main.c | ||||
@@ -1569,7 +1569,7 @@ int drbd_send_sizes(struct drbd_peer_dev | @@ -1569,7 +1569,7 @@ int drbd_send_sizes(struct drbd_peer_dev | |||
p->qlim->io_opt = cpu_to_be32(bdev_io_opt(bdev)); | p->qlim->io_opt = cpu_to_be32(bdev_io_opt(bdev)); | |||
p->qlim->discard_enabled = blk_queue_discard(q); | p->qlim->discard_enabled = blk_queue_discard(q); | |||
p->qlim->discard_zeroes_data = discard_zeroes_if_aligned || | p->qlim->discard_zeroes_data = discard_zeroes_if_aligned || | |||
- queue_discard_zeroes_data(q) | - queue_discard_zeroes_data(q) | |||
+ 0/* queue_discard_zeroes_data(q) */ | + 0/* queue_discard_zeroes_data(q) */ | |||
/* but that is always false on recent kernels */ | /* but that is always false on recent kernels */ | |||
; | ; | |||
p->qlim->write_same_capable = !disable_write_same && | p->qlim->write_same_capable = !disable_write_same && | |||
@@ -2765,7 +2765,10 @@ void drbd_fsync_device(struct drbd_devic | @@ -2765,7 +2765,10 @@ void drbd_fsync_device(struct drbd_devic | |||
skipping to change at line 260 | skipping to change at line 260 | |||
out_no_io_page: | out_no_io_page: | |||
- blk_cleanup_disk(disk); | - blk_cleanup_disk(disk); | |||
+ put_disk(disk); | + put_disk(disk); | |||
out_no_disk: | out_no_disk: | |||
+ blk_cleanup_queue(q); | + blk_cleanup_queue(q); | |||
+out_no_q: | +out_no_q: | |||
kref_put(&resource->kref, drbd_destroy_resource); | kref_put(&resource->kref, drbd_destroy_resource); | |||
kref_debug_put(&resource->kref_debug, 4); | kref_debug_put(&resource->kref_debug, 4); | |||
/* kref debugging wants an extra put, see has_refs() */ | /* kref debugging wants an extra put, see has_refs() */ | |||
--- drbd_debugfs.c | --- drbd_debugfs.c | |||
+++ /tmp/cocci-output-396866-1734ba-drbd_debugfs.c | ||||
@@ -1827,6 +1827,16 @@ static const struct file_operations drbd | @@ -1827,6 +1827,16 @@ static const struct file_operations drbd | |||
static int drbd_compat_show(struct seq_file *m, void *ignored) | static int drbd_compat_show(struct seq_file *m, void *ignored) | |||
{ | { | |||
+ seq_puts(m, "bio_alloc__no_has_4_params\n"); | + seq_puts(m, "bio_alloc__no_has_4_params\n"); | |||
+ seq_puts(m, "blk_alloc_disk__no_present\n"); | + seq_puts(m, "blk_alloc_disk__no_present\n"); | |||
+ seq_puts(m, "submit_bio__no_returns_void\n"); | + seq_puts(m, "submit_bio__no_returns_void\n"); | |||
+ seq_puts(m, "disk_update_readahead__no_present\n"); | + seq_puts(m, "disk_update_readahead__no_present\n"); | |||
+ seq_puts(m, "struct_gendisk__no_has_backing_dev_info\n"); | + seq_puts(m, "struct_gendisk__no_has_backing_dev_info\n"); | |||
+ seq_puts(m, "queue_discard_zeroes_data__no_present\n"); | + seq_puts(m, "queue_discard_zeroes_data__no_present\n"); | |||
+ seq_puts(m, "bdgrab__yes_present\n"); | + seq_puts(m, "bdgrab__yes_present\n"); | |||
+ seq_puts(m, "fs_dax_get_by_bdev__no_takes_start_off\n"); | + seq_puts(m, "fs_dax_get_by_bdev__no_takes_start_off\n"); | |||
+ seq_puts(m, "add_disk__no_returns_int\n"); | + seq_puts(m, "add_disk__no_returns_int\n"); | |||
+ seq_puts(m, "genhd_fl_no_part__no_present\n"); | + seq_puts(m, "genhd_fl_no_part__no_present\n"); | |||
return 0; | return 0; | |||
} | } | |||
--- drbd_dax_pmem.c | --- drbd_dax_pmem.c | |||
+++ /tmp/cocci-output-396866-648d5e-drbd_dax_pmem.c | ||||
@@ -58,9 +58,8 @@ int drbd_dax_open(struct drbd_backing_de | @@ -58,9 +58,8 @@ int drbd_dax_open(struct drbd_backing_de | |||
{ | { | |||
struct dax_device *dax_dev; | struct dax_device *dax_dev; | |||
int err; | int err; | |||
- u64 part_off; | - u64 part_off; | |||
- dax_dev = fs_dax_get_by_bdev(bdev->md_bdev, &part_off); | - dax_dev = fs_dax_get_by_bdev(bdev->md_bdev, &part_off); | |||
+ dax_dev = fs_dax_get_by_bdev(bdev->md_bdev); | + dax_dev = fs_dax_get_by_bdev(bdev->md_bdev); | |||
if (!dax_dev) | if (!dax_dev) | |||
return -ENODEV; | return -ENODEV; | |||
--- drbd_bitmap.c | --- drbd_bitmap.c | |||
+++ /tmp/cocci-output-396866-4e297c-drbd_bitmap.c | ||||
@@ -1185,14 +1185,15 @@ static void bm_page_io_async(struct drbd | @@ -1185,14 +1185,15 @@ static void bm_page_io_async(struct drbd | |||
} else | } else | |||
page = b->bm_pages[page_nr]; | page = b->bm_pages[page_nr]; | |||
- bio = bio_alloc_bioset(device->ldev->md_bdev, 1, op, GFP_NOIO, | - bio = bio_alloc_bioset(device->ldev->md_bdev, 1, op, GFP_NOIO, | |||
- &drbd_md_io_bio_set); | - &drbd_md_io_bio_set); | |||
+ bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set); | + bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set); | |||
+ bio_set_dev(bio, device->ldev->md_bdev); | + bio_set_dev(bio, device->ldev->md_bdev); | |||
bio->bi_iter.bi_sector = on_disk_sector; | bio->bi_iter.bi_sector = on_disk_sector; | |||
/* bio_add_page of a single page to an empty bio will always succeed, | /* bio_add_page of a single page to an empty bio will always succeed, | |||
* according to api. Do we want to assert that? */ | * according to api. Do we want to assert that? */ | |||
bio_add_page(bio, page, len, 0); | bio_add_page(bio, page, len, 0); | |||
bio->bi_private = ctx; | bio->bi_private = ctx; | |||
bio->bi_end_io = drbd_bm_endio; | bio->bi_end_io = drbd_bm_endio; | |||
+ bio->bi_opf = op; | + bio->bi_opf = op; | |||
if (drbd_insert_fault(device, (op == REQ_OP_WRITE) ? DRBD_FAULT_MD_WR : D RBD_FAULT_MD_RD)) { | if (drbd_insert_fault(device, (op == REQ_OP_WRITE) ? DRBD_FAULT_MD_WR : D RBD_FAULT_MD_RD)) { | |||
bio->bi_status = BLK_STS_IOERR; | bio->bi_status = BLK_STS_IOERR; | |||
--- drbd_actlog.c | --- drbd_actlog.c | |||
+++ /tmp/cocci-output-396866-ad0ae0-drbd_actlog.c | ||||
@@ -94,14 +94,15 @@ static int _drbd_md_sync_page_io(struct | @@ -94,14 +94,15 @@ static int _drbd_md_sync_page_io(struct | |||
device->md_io.done = 0; | device->md_io.done = 0; | |||
device->md_io.error = -ENODEV; | device->md_io.error = -ENODEV; | |||
- bio = bio_alloc_bioset(bdev->md_bdev, 1, op | op_flags, | - bio = bio_alloc_bioset(bdev->md_bdev, 1, op | op_flags, | |||
- GFP_NOIO, &drbd_md_io_bio_set); | - GFP_NOIO, &drbd_md_io_bio_set); | |||
+ bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set); | + bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set); | |||
+ bio_set_dev(bio, bdev->md_bdev); | + bio_set_dev(bio, bdev->md_bdev); | |||
bio->bi_iter.bi_sector = sector; | bio->bi_iter.bi_sector = sector; | |||
err = -EIO; | err = -EIO; | |||
End of changes. 13 change blocks. | ||||
14 lines changed or deleted | 5 lines changed or added |