Skip to content

Commit d464bed

Browse files
committed
Merge branch 'for-6.17/block' into for-next
* for-6.17/block: (77 commits) dm: split write BIOs on zone boundaries when zone append is not emulated block: use chunk_sectors when evaluating stacked atomic write limits dm-stripe: limit chunk_sectors to the stripe size md/raid10: set chunk_sectors limit md/raid0: set chunk_sectors limit block: sanitize chunk_sectors for atomic write limits ilog2: add max_pow_of_two_factor() block: fix blk_zone_append_update_request_bio() kernel-doc ublk: remove unused req argument from ublk_sub_req_ref() selftests: ublk: add utils.h selftests: ublk: add helper ublk_handle_uring_cmd() for handle ublk command selftests: ublk: improve flags naming selftests: ublk: remove ublk queue self-defined flags selftests: ublk: pass 'ublk_thread *' to more common helpers selftests: ublk: pass 'ublk_thread *' to ->queue_io() and ->tgt_io_done() selftests: ublk: remove `tag` parameter of ->tgt_io_done() ublk: pass 'const struct ublk_io *' to ublk_[un]map_io() ublk: remove ublk_commit_and_fetch() ublk: add helper ublk_check_fetch_buf() ublk: store auto buffer register data into `struct ublk_io` ...
2 parents 81d82e4 + 675f940 commit d464bed

60 files changed

Lines changed: 1757 additions & 4323 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/ABI/testing/debugfs-pktcdvd

Lines changed: 0 additions & 18 deletions
This file was deleted.

Documentation/ABI/testing/sysfs-class-pktcdvd

Lines changed: 0 additions & 97 deletions
This file was deleted.

Documentation/cdrom/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ CD-ROM
88
:maxdepth: 1
99

1010
cdrom-standard
11-
packet-writing
1211

1312
.. only:: subproject and html
1413

Documentation/cdrom/packet-writing.rst

Lines changed: 0 additions & 139 deletions
This file was deleted.

Documentation/userspace-api/ioctl/ioctl-number.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,6 @@ Code Seq# Include File Comments
220220
include/linux/falloc.h,
221221
linux/fs.h,
222222
'X' all fs/ocfs2/ocfs_fs.h conflict!
223-
'X' 01 linux/pktcdvd.h conflict!
224223
'Z' 14-15 drivers/message/fusion/mptctl.h
225224
'[' 00-3F linux/usb/tmc.h USB Test and Measurement Devices
226225

MAINTAINERS

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19702,13 +19702,6 @@ S: Supported
1970219702
F: Documentation/devicetree/bindings/input/pine64,pinephone-keyboard.yaml
1970319703
F: drivers/input/keyboard/pinephone-keyboard.c
1970419704

19705-
PKTCDVD DRIVER
19706-
19707-
S: Orphan
19708-
F: drivers/block/pktcdvd.c
19709-
F: include/linux/pktcdvd.h
19710-
F: include/uapi/linux/pktcdvd.h
19711-
1971219705
PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
1971319706
M: Tomasz Duszynski <[email protected]>
1971419707
S: Maintained

block/bio-integrity.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ int bio_integrity_add_page(struct bio *bio, struct page *page,
128128
if (bip->bip_vcnt > 0) {
129129
struct bio_vec *bv = &bip->bip_vec[bip->bip_vcnt - 1];
130130

131+
if (!zone_device_pages_have_same_pgmap(bv->bv_page, page))
132+
return 0;
133+
131134
if (bvec_try_merge_hw_page(q, bv, page, len, offset)) {
132135
bip->bip_iter.bi_size += len;
133136
return len;

block/bio.c

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -930,8 +930,6 @@ static bool bvec_try_merge_page(struct bio_vec *bv, struct page *page,
930930
return false;
931931
if (xen_domain() && !xen_biovec_phys_mergeable(bv, page))
932932
return false;
933-
if (!zone_device_pages_have_same_pgmap(bv->bv_page, page))
934-
return false;
935933

936934
if ((vec_end_addr & PAGE_MASK) != ((page_addr + off) & PAGE_MASK)) {
937935
if (IS_ENABLED(CONFIG_KMSAN))
@@ -982,6 +980,9 @@ void __bio_add_page(struct bio *bio, struct page *page,
982980
WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED));
983981
WARN_ON_ONCE(bio_full(bio, len));
984982

983+
if (is_pci_p2pdma_page(page))
984+
bio->bi_opf |= REQ_P2PDMA | REQ_NOMERGE;
985+
985986
bvec_set_page(&bio->bi_io_vec[bio->bi_vcnt], page, len, off);
986987
bio->bi_iter.bi_size += len;
987988
bio->bi_vcnt++;
@@ -1022,11 +1023,16 @@ int bio_add_page(struct bio *bio, struct page *page,
10221023
if (bio->bi_iter.bi_size > UINT_MAX - len)
10231024
return 0;
10241025

1025-
if (bio->bi_vcnt > 0 &&
1026-
bvec_try_merge_page(&bio->bi_io_vec[bio->bi_vcnt - 1],
1027-
page, len, offset)) {
1028-
bio->bi_iter.bi_size += len;
1029-
return len;
1026+
if (bio->bi_vcnt > 0) {
1027+
struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1];
1028+
1029+
if (!zone_device_pages_have_same_pgmap(bv->bv_page, page))
1030+
return 0;
1031+
1032+
if (bvec_try_merge_page(bv, page, len, offset)) {
1033+
bio->bi_iter.bi_size += len;
1034+
return len;
1035+
}
10301036
}
10311037

10321038
if (bio->bi_vcnt >= bio->bi_max_vecs)

0 commit comments

Comments
 (0)