/linux/block/ |
H A D | genhd.c | 59 void set_capacity(struct gendisk *disk, sector_t sectors) in set_capacity() argument 61 bdev_set_nr_sectors(disk->part0, sectors); in set_capacity() 66 * Set disk capacity and notify if the size is not currently zero and will not 69 bool set_capacity_and_notify(struct gendisk *disk, sector_t size) in set_capacity_and_notify() argument 71 sector_t capacity = get_capacity(disk); in set_capacity_and_notify() 74 set_capacity(disk, size); in set_capacity_and_notify() 82 !disk_live(disk) || in set_capacity_and_notify() 83 (disk->flags & GENHD_FL_HIDDEN)) in set_capacity_and_notify() 87 disk->disk_name, capacity, size); in set_capacity_and_notify() 95 kobject_uevent_env(&disk_to_dev(disk)->kobj, KOBJ_CHANGE, envp); in set_capacity_and_notify() [all …]
|
H A D | disk-events.c | 3 * Disk events - monitor disk events like media change and eject request. 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() 59 * disk_block_events - block and flush disk event checking 60 * @disk: disk to block events for 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() [all …]
|
H A D | blk-sysfs.c | 25 ssize_t (*show)(struct gendisk *disk, char *page); 26 ssize_t (*store)(struct gendisk *disk, const char *page, size_t count); 27 void (*load_module)(struct gendisk *disk, const char *page, size_t count); 51 static ssize_t queue_requests_show(struct gendisk *disk, char *page) in queue_requests_show() argument 53 return queue_var_show(disk->queue->nr_requests, page); in queue_requests_show() 57 queue_requests_store(struct gendisk *disk, const char *page, size_t count) in queue_requests_store() argument 62 if (!queue_is_mq(disk->queue)) in queue_requests_store() 72 err = blk_mq_update_nr_requests(disk->queue, nr); in queue_requests_store() 79 static ssize_t queue_ra_show(struct gendisk *disk, char *page) in queue_ra_show() argument 81 return queue_var_show(disk->bdi->ra_pages << (PAGE_SHIFT - 10), page); in queue_ra_show() [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() 35 * bd_link_disk_holder - create symlinks between holding disk and slave bdev 37 * @disk: the holding disk 43 * - from "slaves" directory of the holder @disk to the claimed @bdev 44 * - from "holders" directory of the @bdev to the holder @disk 46 * For example, if /dev/dm-0 maps to /dev/sda and disk for dm-0 is 53 * ensure that both @bdev and @disk are valid during the creation and 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() [all …]
|
H A D | blk-ia-ranges.c | 104 * @disk: Target disk 106 * Register with sysfs a set of independent access ranges for @disk. 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() 126 &disk->queue_kobj, "%s", in disk_register_independent_access_ranges() 129 disk->ia_ranges = NULL; in disk_register_independent_access_ranges() 152 void disk_unregister_independent_access_ranges(struct gendisk *disk) in disk_unregister_independent_access_ranges() argument 154 struct request_queue *q = disk->queue; in disk_unregister_independent_access_ranges() 155 struct blk_independent_access_ranges *iars = disk->ia_ranges; in disk_unregister_independent_access_ranges() [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 | 2 LDM - Logical Disk Manager (Dynamic Disks) 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. [all …]
|
/linux/block/partitions/ |
H A D | core.c | 17 * Probe partition formats with tables at disk address 0 32 * disk address 0xdc0. Since these may also have stale 132 state->disk = hd; in check_partition() 290 * Must be called either with open_mutex held, before a disk can be opened or 291 * after all disk users are gone. 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() [all …]
|
H A D | efi.c | 20 * - check for first/last_usable_lba outside of size of disk 26 * - On-disk structure and copy in memory is *always* LE now - 41 * thing that keeps EFI GUIDs on disk. 61 * sector of an odd-sized disk from user space. No tools have ever 127 * @disk: block device 131 * the part[0] entry for this disk, and is the number of 132 * physical sectors available on the disk. 134 static u64 last_lba(struct gendisk *disk) in last_lba() argument 136 return div_u64(bdev_nr_bytes(disk->part0), in last_lba() 137 queue_logical_block_size(disk->queue)) - 1ULL; in last_lba() [all …]
|
/linux/Documentation/admin-guide/blockdev/ |
H A D | ramdisk.rst | 2 Using the RAM disk block device with Linux 10 4) An Example of Creating a Compressed RAM Disk 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:: [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/Documentation/ABI/testing/ |
H A D | sysfs-block-bcache | 1 What: /sys/block/<disk>/bcache/unregister 11 What: /sys/block/<disk>/bcache/clear_stats 17 What: /sys/block/<disk>/bcache/cache 24 What: /sys/block/<disk>/bcache/cache_hits 31 What: /sys/block/<disk>/bcache/cache_misses 37 What: /sys/block/<disk>/bcache/cache_hit_ratio 43 What: /sys/block/<disk>/bcache/sequential_cutoff 51 What: /sys/block/<disk>/bcache/bypassed 59 What: /sys/block/<disk>/bcache/writeback 68 What: /sys/block/<disk>/bcache/writeback_running [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/Documentation/power/ |
H A D | swsusp.rst | 11 If you touch anything on disk between suspend and resume... 20 problems. If your disk driver does not support suspend... (IDE does), 45 echo shutdown > /sys/power/disk; echo disk > /sys/power/state 49 echo platform > /sys/power/disk; echo disk > /sys/power/state 54 echo suspend > /sys/power/disk; echo disk > /sys/power/state 57 support. For suspend and resume to work, make sure your disk drivers 59 suspend/resume with modular disk drivers, see FAQ, but you probably 123 echo 4 > /proc/acpi/sleep # for suspend to disk 128 echo 4b > /proc/acpi/sleep # for suspend to disk via s4bios 139 bringing machine down? Suspend to disk, rearrange power cables, [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 | 12 * - Disk change detection and drive deselecting after motor-off 14 * - Autodetection of disk format (DD/HD); untested yet, because I 33 * the FDC will otherwise wait forever when no disk is inserted... 37 * - more/other disk formats 42 * - Make disk format numbering independent from minors 48 * - disk formatting 61 * - Maybe a better strategy for disk change detection (does anyone 168 /* Disk types: DD, HD, ED */ 179 { "D820", 10,1640, 0, 0}, /* 3: DD disk with 82 tracks/10 sectors */ 227 /* Array for translating minors into disk formats */ [all …]
|
H A D | z2ram.c | 3 ** as a block device, to be used as a RAM disk or swap space 143 static int z2_open(struct gendisk *disk, blk_mode_t mode) in z2_open() argument 145 int device = disk->first_minor; in z2_open() 291 static void z2_release(struct gendisk *disk) in z2_release() argument 318 struct gendisk *disk; in z2ram_register_disk() local 321 disk = blk_mq_alloc_disk(&tag_set, NULL, NULL); in z2ram_register_disk() 322 if (IS_ERR(disk)) in z2ram_register_disk() 323 return PTR_ERR(disk); in z2ram_register_disk() 325 disk->major = Z2RAM_MAJOR; in z2ram_register_disk() 326 disk->first_minor = minor; in z2ram_register_disk() [all …]
|
H A D | nbd.c | 123 struct gendisk *disk; member 159 #define nbd_name(nbd) ((nbd)->disk->disk_name) 177 return disk_to_dev(nbd->disk); in nbd_to_dev() 235 struct gendisk *disk = dev_to_disk(dev); in pid_show() local 236 struct nbd_device *nbd = disk->private_data; in pid_show() 249 struct gendisk *disk = dev_to_disk(dev); in backend_show() local 250 struct nbd_device *nbd = disk->private_data; in backend_show() 262 struct gendisk *disk = nbd->disk; in nbd_dev_remove() local 264 del_gendisk(disk); in nbd_dev_remove() 275 put_disk(disk); in nbd_dev_remove() [all …]
|
/linux/arch/m68k/emu/ |
H A D | nfblock.c | 57 struct gendisk *disk; member 124 dev->disk = blk_alloc_disk(&lim, NUMA_NO_NODE); in nfhd_init_one() 125 if (IS_ERR(dev->disk)) { in nfhd_init_one() 126 err = PTR_ERR(dev->disk); in nfhd_init_one() 130 dev->disk->major = major_num; in nfhd_init_one() 131 dev->disk->first_minor = dev_id * 16; in nfhd_init_one() 132 dev->disk->minors = 16; in nfhd_init_one() 133 dev->disk->fops = &nfhd_ops; in nfhd_init_one() 134 dev->disk->private_data = dev; in nfhd_init_one() 135 sprintf(dev->disk->disk_name, "nfhd%u", dev_id); in nfhd_init_one() [all …]
|
/linux/drivers/nvme/host/ |
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 …]
|
H A D | multipath.c | 62 if (h->disk) in nvme_mpath_unfreeze() 63 blk_mq_unfreeze_queue(h->disk->queue); in nvme_mpath_unfreeze() 72 if (h->disk) in nvme_mpath_wait_freeze() 73 blk_mq_freeze_queue_wait(h->disk->queue); in nvme_mpath_wait_freeze() 82 if (h->disk) in nvme_mpath_start_freeze() 83 blk_freeze_queue_start(h->disk->queue); in nvme_mpath_start_freeze() 107 bio_set_dev(bio, ns->head->disk->part0); in nvme_failover_req() 132 struct gendisk *disk = ns->head->disk; in nvme_mpath_start_request() local 139 if (!blk_queue_io_stat(disk->queue) || blk_rq_is_passthrough(rq)) in nvme_mpath_start_request() 143 nvme_req(rq)->start_time = bdev_start_io_acct(disk->part0, req_op(rq), in nvme_mpath_start_request() [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() 661 * We grab drbd_md_get_buffer(), because we don't want to "fail" the disk while 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() [all …]
|
/linux/drivers/md/bcache/ |
H A D | writeback.c | 32 struct cache_set *c = dc->disk.c; in __calc_target_rate() 84 int64_t dirty = bcache_dev_sectors_dirty(&dc->disk); in __update_writeback_rate() 101 struct cache_set *c = dc->disk.c; in __update_writeback_rate() 247 struct cache_set *c = dc->disk.c; in update_writeback_rate() 253 set_bit(BCACHE_DEV_RATE_DW_RUNNING, &dc->disk.flags); in update_writeback_rate() 261 if (!test_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags) || in update_writeback_rate() 263 clear_bit(BCACHE_DEV_RATE_DW_RUNNING, &dc->disk.flags); in update_writeback_rate() 297 if (test_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags) && in update_writeback_rate() 307 clear_bit(BCACHE_DEV_RATE_DW_RUNNING, &dc->disk.flags); in update_writeback_rate() 315 if (test_bit(BCACHE_DEV_DETACHING, &dc->disk.flags) || in writeback_delay() [all …]
|
/linux/drivers/scsi/ |
H A D | sr.c | 8 * Linux scsi disk driver by 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() 487 static int sr_block_open(struct gendisk *disk, blk_mode_t mode) in sr_block_open() argument 489 struct scsi_cd *cd = scsi_cd(disk); in sr_block_open() 497 if (disk_check_media_change(disk)) { in sr_block_open() [all …]
|
/linux/drivers/md/ |
H A D | dm-era-target.c | 40 * disk. 46 * This does not free off the on disk bitset as this will normally be done 87 * Wipes the in-core bitset, and creates a new on disk bitset. 156 * On disk metadata layout 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 [all …]
|