-
Notifications
You must be signed in to change notification settings - Fork 0
block: add a bio_list_add_sorted helper #386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Upstream branch: 5674abb |
926da5e to
95dab1c
Compare
|
Upstream branch: ca289ff |
43339d9 to
bdae5e8
Compare
|
Upstream branch: ca289ff |
bdae5e8 to
c960bf4
Compare
|
Upstream branch: ca289ff |
c960bf4 to
b27d0da
Compare
95dab1c to
edb27fa
Compare
|
Upstream branch: fd196ce |
b27d0da to
8f33ffc
Compare
* io_uring-6.19: io_uring/kbuf: use READ_ONCE() for userspace-mapped memory io_uring/rsrc: fix lost entries after cloned range io_uring/rsrc: rename misleading src_node variable in io_clone_buffers() io_uring/rsrc: clean up buffer cloning arg validation io_uring/trace: rename io_uring_queue_async_work event "rw" field io_uring/io-wq: always retry worker create on ERESTART* io_uring/poll: correctly handle io_poll_add() return value on update
* block-6.19: (27 commits) nvme-fabrics: add ENOKEY to no retry criteria for authentication failures nvme-auth: use kvfree() for memory allocated with kvcalloc() nvmet-tcp: use kvcalloc for commands array nvmet-rdma: use kvcalloc for commands and responses arrays nvme: fix typo error in nvme target nvmet-fc: use pr_* print macros instead of dev_* nvmet-fcloop: remove unused lsdir member. nvmet-fcloop: check all request and response have been processed nvme-fc: check all request and response have been processed block: fix memory leak in __blkdev_issue_zero_pages block: fix comment for op_is_zone_mgmt() to include RESET_ALL block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs blk-mq: Abort suspend when wakeup events are pending blk-mq: add blk_rq_nr_bvec() helper block: add IOC_PR_READ_RESERVATION ioctl block: add IOC_PR_READ_KEYS ioctl nvme: reject invalid pr_read_keys() num_keys values scsi: sd: reject invalid pr_read_keys() num_keys values block: enable per-cpu bio cache by default block: use bio_alloc_bioset for passthru IO by default ...
* io_uring-6.19: io_uring/kbuf: use WRITE_ONCE() for userspace-shared buffer ring fields
* io_uring-6.19: io_uring/poll: unify poll waitqueue entry and list removal
edb27fa to
4c31a29
Compare
Add a helper to insert a bio into a bio_list so that the list remains sorted by bi_sector. While it is on the upper hand of the size for an inline function, it is a trade off for having it with the common helpers, but not bloating the kernel unless the so far only user is enabled. If it gets more widely used moving it out of line should be considered. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
This instructs the zone write plugging code to queue up any bio not at the write pointer, and includes an implicit guarantee that the caller will fill any sector gaps. I.e., this can be used by file systems and stacking block drivers, but not for untrusted user block device writes. Because all writes through the write plug cancel all outstanding writes for the plug there is no risk that queue up writes for higher sectors are stuck in the zone write plug even on error. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Use the new REQ_ZWPLUG_UNORDERED bio flag so that even copies to sequential write required zones can queue up writes bios as soon as the reads finish. This simplifies the code and reduces the submission latency as all writes are immediately available in the zoned write plug list when the previous write completes instead of going through two layers of queueing. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
|
Upstream branch: 2690a55 |
8f33ffc to
e32cec3
Compare
4c31a29 to
99f0533
Compare
|
At least one diff in series https://patchwork.kernel.org/project/linux-block/list/?series=1024674 irrelevant now for [{'archived': False, 'project': 241}] search patterns |
Pull request for series with
subject: block: add a bio_list_add_sorted helper
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1024674