linux/drivers/block
Jens Axboe 6ded703c56 brd: check for REQ_NOWAIT and set correct page allocation mask
If REQ_NOWAIT is set, then do a non-blocking allocation if the operation
is a write and we need to insert a new page. Currently REQ_NOWAIT cannot
be set as the queue isn't marked as supporting nowait, this change is in
preparation for allowing that.

radix_tree_preload() warns on attempting to call it with an allocation
mask that doesn't allow blocking. While that warning could arguably
be removed, we need to handle radix insertion failures anyway as they
are more likely if we cannot block to get memory.

Remove legacy BUG_ON()'s and turn them into proper errors instead, one
for the allocation failure and one for finding a page that doesn't
match the correct index.

Cc: stable@vger.kernel.org # 5.10+
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-02-16 10:02:41 -07:00
..
aoe driver core: make struct class.devnode() take a const * 2022-11-24 17:12:27 +01:00
drbd drbd: drbd_insert_interval(): Clarify comment 2023-01-29 15:18:33 -07:00
mtip32xx block: move from strlcpy with unused retval to strscpy 2022-09-21 19:45:04 -06:00
null_blk block: make BLK_DEF_MAX_SECTORS unsigned 2023-01-29 15:18:33 -07:00
paride block: Change the type of req_op() and bio_op() into enum req_op 2022-07-14 12:14:30 -06:00
rnbd block/rnbd-clt: fix wrong max ID in ida_alloc_max 2023-01-17 08:33:36 -07:00
xen-blkback xen: make remove callback of xen driver void returned 2022-12-15 16:06:10 +01:00
zram zram: use bvec_set_page to initialize bvecs 2023-02-03 08:20:55 -07:00
amiflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ataflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
brd.c brd: check for REQ_NOWAIT and set correct page allocation mask 2023-02-16 10:02:41 -07:00
floppy.c floppy: Fix memory leak in do_floppy_init() 2022-12-04 18:03:41 +04:00
Kconfig Revert "pktcdvd: remove driver." 2023-01-04 14:44:13 -07:00
loop.c loop: Improve the hw_queue_depth kernel module parameter implementation 2023-02-01 08:16:11 -07:00
Makefile Revert "pktcdvd: remove driver." 2023-01-04 14:44:13 -07:00
n64cart.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
nbd.c Treewide: Stop corrupting socket's task_frag 2022-12-19 17:28:49 -08:00
pktcdvd.c pktcdvd: check for NULL returna fter calling bio_split_to_limits() 2023-01-16 08:51:05 -07:00
ps3disk.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ps3vram.c ps3vram: remove bio splitting 2023-01-29 15:18:35 -07:00
rbd_types.h libceph, rbd: replace zero-length array with flexible-array 2020-06-01 13:22:53 +02:00
rbd.c rbd: use bvec_set_page to initialize the copy up bvec 2023-02-03 08:20:55 -07:00
sunvdc.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim3.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
swim.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ublk_drv.c block: ublk: check IO buffer based on flag need_get_data 2023-02-13 08:36:23 -07:00
virtio_blk.c virtio_blk: use bvec_set_virt to initialize special_vec 2023-02-03 08:20:55 -07:00
xen-blkfront.c xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06:00
z2ram.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00