| /linux/block/ |
| H A D | disk-events.c | 12 struct gendisk *disk; /* the associated disk */ member 41 static unsigned long disk_events_poll_jiffies(struct gendisk *disk) in disk_events_poll_jiffies() argument 43 struct disk_events *ev = disk->ev; in disk_events_poll_jiffies() 52 else if (disk->event_flags & DISK_EVENT_FLAG_POLL) in disk_events_poll_jiffies() 73 void disk_block_events(struct gendisk *disk) in disk_block_events() argument 75 struct disk_events *ev = disk->ev; in disk_block_events() 93 cancel_delayed_work_sync(&disk->ev->dwork); in disk_block_events() 98 static void __disk_unblock_events(struct gendisk *disk, bool check_now) in __disk_unblock_events() argument 100 struct disk_events *ev = disk->ev; in __disk_unblock_events() 112 intv = disk_events_poll_jiffies(disk); in __disk_unblock_events() [all …]
|
| H A D | blk-zoned.c | 68 struct gendisk *disk; member 77 static inline bool disk_need_zone_resources(struct gendisk *disk) in disk_need_zone_resources() argument 86 return queue_is_mq(disk->queue) || in disk_need_zone_resources() 87 queue_emulates_zone_append(disk->queue); in disk_need_zone_resources() 90 static inline unsigned int disk_zone_wplugs_hash_size(struct gendisk *disk) in disk_zone_wplugs_hash_size() argument 92 return 1U << disk->zone_wplugs_hash_bits; in disk_zone_wplugs_hash_size() 156 static void disk_zone_set_cond(struct gendisk *disk, sector_t sector, in disk_zone_set_cond() argument 162 zones_cond = rcu_dereference(disk->zones_cond); in disk_zone_set_cond() 164 unsigned int zno = disk_zone_no(disk, sector); in disk_zone_set_cond() 193 struct gendisk *disk = bdev->bd_disk; in bdev_zone_is_seq() local [all …]
|
| H A D | blk-ia-ranges.c | 108 int disk_register_independent_access_ranges(struct gendisk *disk) in disk_register_independent_access_ranges() argument 110 struct blk_independent_access_ranges *iars = disk->ia_ranges; in disk_register_independent_access_ranges() 111 struct request_queue *q = disk->queue; in disk_register_independent_access_ranges() 125 &disk->queue_kobj, "%s", in disk_register_independent_access_ranges() 128 disk->ia_ranges = NULL; in disk_register_independent_access_ranges() 151 void disk_unregister_independent_access_ranges(struct gendisk *disk) in disk_unregister_independent_access_ranges() argument 153 struct request_queue *q = disk->queue; in disk_unregister_independent_access_ranges() 154 struct blk_independent_access_ranges *iars = disk->ia_ranges; in disk_unregister_independent_access_ranges() 171 disk->ia_ranges = NULL; in disk_unregister_independent_access_ranges() 191 static bool disk_check_ia_ranges(struct gendisk *disk, in disk_check_ia_ranges() argument [all …]
|
| H A D | holder.c | 14 struct gendisk *disk) in bd_find_holder_disk() argument 18 list_for_each_entry(holder, &disk->slave_bdevs, list) in bd_find_holder_disk() 62 int bd_link_disk_holder(struct block_device *bdev, struct gendisk *disk) in bd_link_disk_holder() argument 67 if (WARN_ON_ONCE(!disk->slave_dir)) in bd_link_disk_holder() 70 if (bdev->bd_disk == disk) in bd_link_disk_holder() 88 holder = bd_find_holder_disk(bdev, disk); in bd_link_disk_holder() 105 ret = add_symlink(disk->slave_dir, bdev_kobj(bdev)); in bd_link_disk_holder() 108 ret = add_symlink(bdev->bd_holder_dir, &disk_to_dev(disk)->kobj); in bd_link_disk_holder() 111 list_add(&holder->list, &disk->slave_bdevs); in bd_link_disk_holder() 117 del_symlink(disk->slave_dir, bdev_kobj(bdev)); in bd_link_disk_holder() [all …]
|
| H A D | bdev.c | 473 struct block_device *bdev_alloc(struct gendisk *disk, u8 partno) in bdev_alloc() argument 492 bdev->bd_queue = disk->queue; in bdev_alloc() 493 if (partno && bdev_test_flag(disk->part0, BD_HAS_SUBMIT_BIO)) in bdev_alloc() 500 bdev->bd_disk = disk; in bdev_alloc() 743 struct gendisk *disk = bdev->bd_disk; in blkdev_get_whole() local 746 if (disk->fops->open) { in blkdev_get_whole() 747 ret = disk->fops->open(disk, mode); in blkdev_get_whole() 751 test_bit(GD_NEED_PART_SCAN, &disk->state)) in blkdev_get_whole() 752 bdev_disk_changed(disk, true); in blkdev_get_whole() 760 if (test_bit(GD_NEED_PART_SCAN, &disk->state)) { in blkdev_get_whole() [all …]
|
| H A D | blk-cgroup.c | 298 static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk, in blkg_alloc() argument 305 blkg = kzalloc_node(sizeof(*blkg), gfp_mask, disk->queue->node); in blkg_alloc() 313 if (!blk_get_queue(disk->queue)) in blkg_alloc() 316 blkg->q = disk->queue; in blkg_alloc() 336 if (!blkcg_policy_enabled(disk->queue, pol)) in blkg_alloc() 340 pd = pol->pd_alloc_fn(disk, blkcg, gfp_mask); in blkg_alloc() 355 blk_put_queue(disk->queue); in blkg_alloc() 369 static struct blkcg_gq *blkg_create(struct blkcg *blkcg, struct gendisk *disk, in blkg_create() argument 375 lockdep_assert_held(&disk->queue->queue_lock); in blkg_create() 378 if (blk_queue_dying(disk->queue)) { in blkg_create() [all …]
|
| /linux/block/partitions/ |
| H A D | core.c | 132 state->disk = hd; in check_partition() 293 static struct block_device *add_partition(struct gendisk *disk, int partno, in add_partition() argument 298 struct device *ddev = disk_to_dev(disk); in add_partition() 304 lockdep_assert_held(&disk->open_mutex); in add_partition() 313 if (bdev_is_zoned(disk->part0)) { in add_partition() 315 disk->disk_name); in add_partition() 319 if (xa_load(&disk->part_tbl, partno)) in add_partition() 323 get_device(disk_to_dev(disk)); in add_partition() 326 bdev = bdev_alloc(disk, partno); in add_partition() 346 if (bdev_partno(bdev) < disk->minors) { in add_partition() [all …]
|
| H A D | amiga.c | 56 state->disk->disk_name, blk); in amiga_partition() 78 state->disk->disk_name, blk); in amiga_partition() 97 state->disk->disk_name, blk, part); in amiga_partition() 103 state->disk->disk_name, blk); in amiga_partition() 127 state->disk->disk_name, cylblk); in amiga_partition() 134 state->disk->disk_name, cylblk, in amiga_partition() 144 state->disk->disk_name, part); in amiga_partition() 165 state->disk->disk_name, part, in amiga_partition() 171 state->disk->disk_name, part, in amiga_partition()
|
| /linux/drivers/md/ |
| H A D | dm-zone.c | 37 args->next_sector < get_capacity(md->disk)); in dm_blk_do_report_zones() 47 int dm_blk_report_zones(struct gendisk *disk, sector_t sector, in dm_blk_report_zones() argument 51 struct mapped_device *md = disk->private_data; in dm_blk_report_zones() 75 .disk = md->disk, in dm_blk_report_zones() 125 return disk_report_zone(args->disk, zone, args->zone_idx++, in dm_report_zones_cb() 172 struct gendisk *disk = md->disk; in dm_revalidate_zones() local 173 unsigned int nr_zones = disk->nr_zones; in dm_revalidate_zones() 176 if (!get_capacity(disk)) in dm_revalidate_zones() 186 DMINFO("%s using %s zone append", disk->disk_name, in dm_revalidate_zones() 196 ret = blk_revalidate_disk_zones(disk); in dm_revalidate_zones() [all …]
|
| H A D | dm-era-target.c | 203 struct superblock_disk *disk = dm_block_data(b); in sb_prepare_for_write() local 205 disk->blocknr = cpu_to_le64(dm_block_location(b)); in sb_prepare_for_write() 206 disk->csum = cpu_to_le32(dm_bm_checksum(&disk->flags, in sb_prepare_for_write() 211 static int check_metadata_version(struct superblock_disk *disk) in check_metadata_version() argument 213 uint32_t metadata_version = le32_to_cpu(disk->version); in check_metadata_version() 228 struct superblock_disk *disk = dm_block_data(b); in sb_check() local 231 if (dm_block_location(b) != le64_to_cpu(disk->blocknr)) { in sb_check() 233 __func__, le64_to_cpu(disk->blocknr), in sb_check() 238 if (le64_to_cpu(disk->magic) != SUPERBLOCK_MAGIC) { in sb_check() 240 __func__, le64_to_cpu(disk->magic), in sb_check() [all …]
|
| /linux/Documentation/admin-guide/ |
| H A D | devices.txt | 20 1 block RAM disk 21 0 = /dev/ram0 First RAM disk 22 1 = /dev/ram1 Second RAM disk 24 250 = /dev/initrd Initial RAM disk 27 /dev/initrd refers to a RAM disk which was preloaded 115 3 block First MFM, RLL and IDE hard disk/CD-ROM interface 116 0 = /dev/hda Master: whole disk (or CD-ROM) 117 64 = /dev/hdb Slave: whole disk (or CD-ROM) 119 For partitions, add to the whole disk device number: 120 0 = /dev/hd? Whole disk [all …]
|
| H A D | ldm.rst | 13 1MiB journalled database at the end of the physical disk. The size of 14 partitions is limited only by disk space. The maximum number of partitions is 25 Once the LDM driver has divided up the disk, you can use the MD driver to 28 To prevent legacy applications from repartitioning the disk, the LDM creates a 29 dummy MSDOS partition containing one disk-sized partition. This is what is 33 GPT label disk. This is not supported by the Linux LDM driver yet. 39 Below we have a 50MiB disk, divided into seven partitions. 43 The missing 1MiB at the end of the disk is where the LDM database is 67 disk, but the driver will sort them. 95 is a dummy MSDOS partition filling the whole disk. You won't be able to mount [all …]
|
| /linux/drivers/block/ |
| H A D | n64cart.c | 121 struct gendisk *disk; in n64cart_probe() local 138 disk = blk_alloc_disk(&lim, NUMA_NO_NODE); in n64cart_probe() 139 if (IS_ERR(disk)) { in n64cart_probe() 140 err = PTR_ERR(disk); in n64cart_probe() 144 disk->first_minor = 0; in n64cart_probe() 145 disk->flags = GENHD_FL_NO_PART; in n64cart_probe() 146 disk->fops = &n64cart_fops; in n64cart_probe() 147 disk->private_data = &pdev->dev; in n64cart_probe() 148 strcpy(disk->disk_name, "n64cart"); in n64cart_probe() 150 set_capacity(disk, size >> SECTOR_SHIFT); in n64cart_probe() [all …]
|
| H A D | ataflop.c | 301 struct gendisk *disk[NUM_DISK_MINORS]; member 450 static int floppy_open(struct gendisk *disk, blk_mode_t mode); 451 static void floppy_release(struct gendisk *disk); 761 q = unit[drive].disk[type]->queue; in do_format() 1185 set_capacity(unit[SelectedDrive].disk[0], in fd_rwsec_done1() 1200 set_capacity(unit[SelectedDrive].disk[0], in fd_rwsec_done1() 1436 static unsigned int floppy_check_events(struct gendisk *disk, in floppy_check_events() argument 1439 struct atari_floppy_struct *p = disk->private_data; in floppy_check_events() 1459 static int floppy_revalidate(struct gendisk *disk) in floppy_revalidate() argument 1461 struct atari_floppy_struct *p = disk->private_data; in floppy_revalidate() [all …]
|
| H A D | nbd.c | 124 struct gendisk *disk; member 163 #define nbd_name(nbd) ((nbd)->disk->disk_name) 181 return disk_to_dev(nbd->disk); in nbd_to_dev() 239 struct gendisk *disk = dev_to_disk(dev); in pid_show() local 240 struct nbd_device *nbd = disk->private_data; in pid_show() 253 struct gendisk *disk = dev_to_disk(dev); in backend_show() local 254 struct nbd_device *nbd = disk->private_data; in backend_show() 266 struct gendisk *disk = nbd->disk; in nbd_dev_remove() local 268 del_gendisk(disk); in nbd_dev_remove() 279 put_disk(disk); in nbd_dev_remove() [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-fs-f2fs | 1 What: /sys/fs/f2fs/<disk>/gc_max_sleep_time 7 What: /sys/fs/f2fs/<disk>/gc_min_sleep_time 13 What: /sys/fs/f2fs/<disk>/gc_no_gc_sleep_time 19 What: /sys/fs/f2fs/<disk>/gc_idle 31 What: /sys/fs/f2fs/<disk>/reclaim_segments 41 What: /sys/fs/f2fs/<disk>/main_blkaddr 46 What: /sys/fs/f2fs/<disk>/ipu_policy 72 What: /sys/fs/f2fs/<disk>/min_ipu_util 78 What: /sys/fs/f2fs/<disk>/min_fsync_blocks 84 What: /sys/fs/f2fs/<disk>/min_seq_blocks [all …]
|
| H A D | sysfs-fs-ext4 | 1 What: /sys/fs/ext4/<disk>/mb_stats 10 What: /sys/fs/ext4/<disk>/mb_group_prealloc 18 What: /sys/fs/ext4/<disk>/mb_max_to_scan 25 What: /sys/fs/ext4/<disk>/mb_min_to_scan 32 What: /sys/fs/ext4/<disk>/mb_order2_req 40 What: /sys/fs/ext4/<disk>/mb_stream_req 51 What: /sys/fs/ext4/<disk>/inode_readahead_blks 59 What: /sys/fs/ext4/<disk>/delayed_allocation_blocks 67 What: /sys/fs/ext4/<disk>/lifetime_write_kbytes 75 What: /sys/fs/ext4/<disk>/session_write_kbytes [all …]
|
| /linux/drivers/nvme/host/ |
| H A D | multipath.c | 113 if (h->disk) in nvme_mpath_unfreeze() 114 blk_mq_unfreeze_queue_nomemrestore(h->disk->queue); in nvme_mpath_unfreeze() 123 if (h->disk) in nvme_mpath_wait_freeze() 124 blk_mq_freeze_queue_wait(h->disk->queue); in nvme_mpath_wait_freeze() 133 if (h->disk) in nvme_mpath_start_freeze() 134 blk_freeze_queue_start(h->disk->queue); in nvme_mpath_start_freeze() 158 bio_set_dev(bio, ns->head->disk->part0); in nvme_failover_req() 183 struct gendisk *disk = ns->head->disk; in nvme_mpath_start_request() local 191 if (!blk_queue_io_stat(disk->queue) || blk_rq_is_passthrough(rq) || in nvme_mpath_start_request() 196 nvme_req(rq)->start_time = bdev_start_io_acct(disk->part0, req_op(rq), in nvme_mpath_start_request() [all …]
|
| H A D | trace.h | 38 static inline void __assign_disk_name(char *name, struct gendisk *disk) in __assign_disk_name() argument 40 if (disk) in __assign_disk_name() 41 memcpy(name, disk->disk_name, DISK_NAME_LEN); in __assign_disk_name() 51 __array(char, disk, DISK_NAME_LEN) 71 __assign_disk_name(__entry->disk, req->q->disk); 76 __entry->ctrl_id, __print_disk_name(__entry->disk), 89 __array(char, disk, DISK_NAME_LEN) 106 __assign_disk_name(__entry->disk, req->q->disk); 109 __entry->ctrl_id, __print_disk_name(__entry->disk), 146 __array(char, disk, DISK_NAME_LEN) [all …]
|
| /linux/drivers/scsi/ |
| H A D | sr.c | 140 static inline struct scsi_cd *scsi_cd(struct gendisk *disk) in scsi_cd() argument 142 return disk->private_data; in scsi_cd() 302 struct scsi_cd *cd = scsi_cd(rq->q->disk); in sr_done() 342 if (error_sector < get_capacity(cd->disk) && in sr_done() 344 set_capacity(cd->disk, error_sector); in sr_done() 369 cd = scsi_cd(rq->q->disk); in sr_init_command() 495 static int sr_block_open(struct gendisk *disk, blk_mode_t mode) in sr_block_open() argument 497 struct scsi_cd *cd = scsi_cd(disk); in sr_block_open() 505 if (disk_check_media_change(disk)) { in sr_block_open() 521 static void sr_block_release(struct gendisk *disk) in sr_block_release() argument [all …]
|
| /linux/Documentation/admin-guide/blockdev/ |
| H A D | ramdisk.rst | 2 Using the RAM disk block device with Linux 16 The RAM disk driver is a way to use main system memory as a block device. It 22 The RAM disk dynamically grows as more space is required. It does this by using 26 The RAM disk supports up to 16 RAM disks by default, and can be reconfigured 31 To use RAM disk support with your system, run './MAKEDEV ram' from the /dev 35 The new RAM disk also has the ability to load compressed RAM disk images, 37 rescue floppy disk. 48 This parameter tells the RAM disk driver to set up RAM disks of N k size. The 80 If you make a boot disk that has LILO, then for the above, you would use:: 87 To create a RAM disk image, you will need a spare block device to [all …]
|
| /linux/drivers/block/drbd/ |
| H A D | drbd_state.c | 127 device_state_change->disk_state[OLD] = device->state.disk; in remember_old_state() 178 device_state_change->disk_state[NEW] = device->state.disk; in remember_new_state() 303 if (device->state.disk != D_DISKLESS || in conn_all_vols_unconf() 376 disk_state = max_t(enum drbd_disk_state, disk_state, device->state.disk); in conn_highest_disk() 392 disk_state = min_t(enum drbd_disk_state, disk_state, device->state.disk); in conn_lowest_disk() 474 (os.disk != D_FAILED && ns.disk == D_FAILED))) || in cl_wide_st_chg() 675 return drbd_req_state(device, NS(disk, D_FAILED), in request_detach() 689 device->state.disk != D_FAILED); in drbd_request_detach_interruptible() 722 drbd_disk_str(ns.disk), in print_st() 762 if (ns.disk != os.disk && flags & CS_DC_DISK) in print_state_change() [all …]
|
| /linux/Documentation/driver-api/md/ |
| H A D | raid5-cache.rst | 5 Raid 4/5/6 could include an extra disk for data cache besides normal RAID 6 disks. The role of RAID disks isn't changed with the cache disk. The cache disk 19 In both modes, all writes to the array will hit cache disk first. This means 20 the cache disk must be fast and sustainable. 34 The write-through cache will cache all data on cache disk first. After the data 35 is safe on the cache disk, the data will be flushed onto RAID disks. The 40 filesystems) after the data is safe on RAID disks, so cache disk failure 41 doesn't cause data loss. Of course cache disk failure means the array is 44 In write-through mode, the cache disk isn't required to be big. Several 51 cached on cache disk. But the main goal of 'write-back' cache is to speed up [all …]
|
| /linux/drivers/cdrom/ |
| H A D | gdrom.c | 96 struct gendisk *disk; member 477 static int gdrom_bdops_open(struct gendisk *disk, blk_mode_t mode) in gdrom_bdops_open() argument 481 disk_check_media_change(disk); in gdrom_bdops_open() 489 static void gdrom_bdops_release(struct gendisk *disk) in gdrom_bdops_release() argument 496 static unsigned int gdrom_bdops_check_events(struct gendisk *disk, in gdrom_bdops_check_events() argument 718 gd.disk->major = gdrom_major; in probe_gdrom_setupdisk() 719 gd.disk->first_minor = 1; in probe_gdrom_setupdisk() 720 gd.disk->minors = 1; in probe_gdrom_setupdisk() 721 gd.disk->flags |= GENHD_FL_NO_PART; in probe_gdrom_setupdisk() 722 strcpy(gd.disk->disk_name, GDROM_DEV_NAME); in probe_gdrom_setupdisk() [all …]
|
| /linux/drivers/md/bcache/ |
| H A D | writeback.h | 82 int stripe = offset_to_stripe(&dc->disk, offset); in bcache_dev_stripe_dirty() 88 if (atomic_read(dc->disk.stripe_sectors_dirty + stripe)) in bcache_dev_stripe_dirty() 91 if (nr_sectors <= dc->disk.stripe_size) in bcache_dev_stripe_dirty() 94 nr_sectors -= dc->disk.stripe_size; in bcache_dev_stripe_dirty() 105 unsigned int in_use = dc->disk.c->gc_stats.in_use; in should_writeback() 108 test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags) || in should_writeback()
|