Commit 8ea8566a authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe
Browse files

ublk: simplify PFN range loop in __ublk_ctrl_reg_buf



Use the for-loop increment instead of a manual `i++` past the last
page, and fix the mtree_insert_range end key accordingly.

Suggested-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
Link: https://patch.msgid.link/20260409133020.3780098-4-tom.leiming@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 211ff160
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -5287,7 +5287,7 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub,
	unsigned long i;
	int ret;

	for (i = 0; i < nr_pages; ) {
	for (i = 0; i < nr_pages; i++) {
		unsigned long pfn = page_to_pfn(pages[i]);
		unsigned long start = i;
		struct ublk_buf_range *range;
@@ -5296,7 +5296,6 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub,
		while (i + 1 < nr_pages &&
		       page_to_pfn(pages[i + 1]) == pfn + (i - start) + 1)
			i++;
		i++;	/* past the last page in this run */

		range = kzalloc(sizeof(*range), GFP_KERNEL);
		if (!range) {
@@ -5308,7 +5307,7 @@ static int __ublk_ctrl_reg_buf(struct ublk_device *ub,
		range->base_offset = start << PAGE_SHIFT;

		ret = mtree_insert_range(&ub->buf_tree, pfn,
					 pfn + (i - start) - 1,
					 pfn + (i - start),
					 range, GFP_KERNEL);
		if (ret) {
			kfree(range);