brd.c (03ab8e6297acd1bc0eedaa050e2a1635c576fd11) | brd.c (8b9ab62662048a3274361c7e5f64037c2c133e2c) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Ram backed block device driver. 4 * 5 * Copyright (C) 2007 Nick Piggin 6 * Copyright (C) 2007 Novell Inc. 7 * 8 * Parts derived from drivers/block/rd.c, and drivers/block/loop.c, copyright --- 405 unchanged lines hidden (view full) --- 414 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, disk->queue); 415 err = add_disk(disk); 416 if (err) 417 goto out_cleanup_disk; 418 419 return 0; 420 421out_cleanup_disk: | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Ram backed block device driver. 4 * 5 * Copyright (C) 2007 Nick Piggin 6 * Copyright (C) 2007 Novell Inc. 7 * 8 * Parts derived from drivers/block/rd.c, and drivers/block/loop.c, copyright --- 405 unchanged lines hidden (view full) --- 414 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, disk->queue); 415 err = add_disk(disk); 416 if (err) 417 goto out_cleanup_disk; 418 419 return 0; 420 421out_cleanup_disk: |
422 blk_cleanup_disk(disk); | 422 put_disk(disk); |
423out_free_dev: 424 list_del(&brd->brd_list); 425 kfree(brd); 426 return err; 427} 428 429static void brd_probe(dev_t dev) 430{ 431 brd_alloc(MINOR(dev) / max_part); 432} 433 434static void brd_cleanup(void) 435{ 436 struct brd_device *brd, *next; 437 438 debugfs_remove_recursive(brd_debugfs_dir); 439 440 list_for_each_entry_safe(brd, next, &brd_devices, brd_list) { 441 del_gendisk(brd->brd_disk); | 423out_free_dev: 424 list_del(&brd->brd_list); 425 kfree(brd); 426 return err; 427} 428 429static void brd_probe(dev_t dev) 430{ 431 brd_alloc(MINOR(dev) / max_part); 432} 433 434static void brd_cleanup(void) 435{ 436 struct brd_device *brd, *next; 437 438 debugfs_remove_recursive(brd_debugfs_dir); 439 440 list_for_each_entry_safe(brd, next, &brd_devices, brd_list) { 441 del_gendisk(brd->brd_disk); |
442 blk_cleanup_disk(brd->brd_disk); | 442 put_disk(brd->brd_disk); |
443 brd_free_pages(brd); 444 list_del(&brd->brd_list); 445 kfree(brd); 446 } 447} 448 449static inline void brd_check_and_reset_par(void) 450{ --- 73 unchanged lines hidden --- | 443 brd_free_pages(brd); 444 list_del(&brd->brd_list); 445 kfree(brd); 446 } 447} 448 449static inline void brd_check_and_reset_par(void) 450{ --- 73 unchanged lines hidden --- |