sd_zbc.c (d053cf0d771f6547cb0537759a9af63cf402908d) sd_zbc.c (88dca4ca5a93d2c09e5bbc6a62fbfc3af83c4fca)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * SCSI Zoned Block commands
4 *
5 * Copyright (C) 2014-2015 SUSE Linux GmbH
6 * Written by: Hannes Reinecke <hare@suse.de>
7 * Modified by: Damien Le Moal <damien.lemoal@hgst.com>
8 * Modified by: Shaun Tancheff <shaun.tancheff@seagate.com>

--- 122 unchanged lines hidden (view full) ---

131 nr_zones = min(nr_zones, sdkp->nr_zones);
132 bufsize = roundup((nr_zones + 1) * 64, SECTOR_SIZE);
133 bufsize = min_t(size_t, bufsize,
134 queue_max_hw_sectors(q) << SECTOR_SHIFT);
135 bufsize = min_t(size_t, bufsize, queue_max_segments(q) << PAGE_SHIFT);
136
137 while (bufsize >= SECTOR_SIZE) {
138 buf = __vmalloc(bufsize,
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * SCSI Zoned Block commands
4 *
5 * Copyright (C) 2014-2015 SUSE Linux GmbH
6 * Written by: Hannes Reinecke <hare@suse.de>
7 * Modified by: Damien Le Moal <damien.lemoal@hgst.com>
8 * Modified by: Shaun Tancheff <shaun.tancheff@seagate.com>

--- 122 unchanged lines hidden (view full) ---

131 nr_zones = min(nr_zones, sdkp->nr_zones);
132 bufsize = roundup((nr_zones + 1) * 64, SECTOR_SIZE);
133 bufsize = min_t(size_t, bufsize,
134 queue_max_hw_sectors(q) << SECTOR_SHIFT);
135 bufsize = min_t(size_t, bufsize, queue_max_segments(q) << PAGE_SHIFT);
136
137 while (bufsize >= SECTOR_SIZE) {
138 buf = __vmalloc(bufsize,
139 GFP_KERNEL | __GFP_ZERO | __GFP_NORETRY,
140 PAGE_KERNEL);
139 GFP_KERNEL | __GFP_ZERO | __GFP_NORETRY);
141 if (buf) {
142 *buflen = bufsize;
143 return buf;
144 }
145 bufsize >>= 1;
146 }
147
148 return NULL;

--- 315 unchanged lines hidden ---
140 if (buf) {
141 *buflen = bufsize;
142 return buf;
143 }
144 bufsize >>= 1;
145 }
146
147 return NULL;

--- 315 unchanged lines hidden ---