| /linux/block/ |
| H A D | genhd.c | 59 void set_capacity(struct gendisk *disk, sector_t sectors) in set_capacity() argument 63 disk->disk_name, sectors, in set_capacity() 68 bdev_set_nr_sectors(disk->part0, sectors); in set_capacity() 73 * Set disk capacity and notify if the size is not currently zero and will not 76 bool set_capacity_and_notify(struct gendisk *disk, sector_t size) in set_capacity_and_notify() argument 78 sector_t capacity = get_capacity(disk); in set_capacity_and_notify() 81 set_capacity(disk, size); in set_capacity_and_notify() 89 !disk_live(disk) || in set_capacity_and_notify() 90 (disk->flags & GENHD_FL_HIDDEN)) in set_capacity_and_notify() 94 disk->disk_name, capacity, size); in set_capacity_and_notify() [all …]
|
| H A D | blk-zoned.c | 45 * @entry: list_head structure for listing the plug in the disk list of active 50 * @disk: The gendisk the plug belongs to. 53 * always at least 1 when the plug is hashed in the disk plug hash table. 73 struct gendisk *disk; member 82 static inline bool disk_need_zone_resources(struct gendisk *disk) in disk_need_zone_resources() argument 91 return queue_is_mq(disk->queue) || in disk_need_zone_resources() 92 queue_emulates_zone_append(disk->queue); in disk_need_zone_resources() 95 static inline unsigned int disk_zone_wplugs_hash_size(struct gendisk *disk) in disk_zone_wplugs_hash_size() argument 97 return 1U << disk->zone_wplugs_hash_bits; in disk_zone_wplugs_hash_size() 108 * removed from the disk hash table of zone write plugs when the last [all …]
|
| H A D | blk-sysfs.c | 25 ssize_t (*show)(struct gendisk *disk, char *page); 26 ssize_t (*show_limit)(struct gendisk *disk, char *page); 28 ssize_t (*store)(struct gendisk *disk, const char *page, size_t count); 29 int (*store_limit)(struct gendisk *disk, const char *page, 54 static ssize_t queue_requests_show(struct gendisk *disk, char *page) in queue_requests_show() argument 58 mutex_lock(&disk->queue->elevator_lock); in queue_requests_show() 59 ret = queue_var_show(disk->queue->nr_requests, page); in queue_requests_show() 60 mutex_unlock(&disk->queue->elevator_lock); in queue_requests_show() 65 queue_requests_store(struct gendisk *disk, const char *page, size_t count) in queue_requests_store() argument 67 struct request_queue *q = disk->queue; in queue_requests_store() [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-wbt.h | 7 void wbt_init_enable_default(struct gendisk *disk); 8 void wbt_disable_default(struct gendisk *disk); 9 void wbt_enable_default(struct gendisk *disk); 13 int wbt_set_lat(struct gendisk *disk, s64 val); 17 static inline void wbt_init_enable_default(struct gendisk *disk) in wbt_init_enable_default() argument 21 static inline void wbt_disable_default(struct gendisk *disk) in wbt_disable_default() argument 24 static inline void wbt_enable_default(struct gendisk *disk) in wbt_enable_default() argument
|
| /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/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/Documentation/ABI/testing/ |
| 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/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() 290 static void z2_release(struct gendisk *disk) in z2_release() argument 317 struct gendisk *disk; in z2ram_register_disk() local 320 disk = blk_mq_alloc_disk(&tag_set, NULL, NULL); in z2ram_register_disk() 321 if (IS_ERR(disk)) in z2ram_register_disk() 322 return PTR_ERR(disk); in z2ram_register_disk() 324 disk->major = Z2RAM_MAJOR; in z2ram_register_disk() 325 disk->first_minor = minor; in z2ram_register_disk() [all …]
|
| H A D | swim.c | 190 struct gendisk *disk; member 611 static int floppy_open(struct gendisk *disk, blk_mode_t mode) in floppy_open() argument 613 struct floppy_state *fs = disk->private_data; in floppy_open() 635 set_capacity(fs->disk, fs->total_secs); in floppy_open() 641 if (disk_check_media_change(disk) && fs->disk_in) in floppy_open() 660 static int floppy_unlocked_open(struct gendisk *disk, blk_mode_t mode) in floppy_unlocked_open() argument 665 ret = floppy_open(disk, mode); in floppy_unlocked_open() 671 static void floppy_release(struct gendisk *disk) in floppy_release() argument 673 struct floppy_state *fs = disk->private_data; in floppy_release() 714 static int floppy_getgeo(struct gendisk *disk, struct hd_geometry *geo) in floppy_getgeo() argument [all …]
|
| H A D | virtio_blk.c | 67 /* The disk structure for the kernel. */ 68 struct gendisk *disk; member 373 blk_mq_start_stopped_hw_queues(vblk->disk->queue, true); in virtblk_done() 531 struct request_queue *q = vblk->disk->queue; in virtblk_alloc_report_buffer() 536 get_capacity(vblk->disk) >> ilog2(vblk->zone_sectors)); in virtblk_alloc_report_buffer() 560 struct request_queue *q = vblk->disk->queue; in virtblk_submit_zone_report() 593 if (zone.start + vblk->zone_sectors <= get_capacity(vblk->disk)) in virtblk_parse_zone() 596 zone.len = get_capacity(vblk->disk) - zone.start; in virtblk_parse_zone() 654 return disk_report_zone(vblk->disk, &zone, idx, args); in virtblk_parse_zone() 657 static int virtblk_report_zones(struct gendisk *disk, sector_t sector, in virtblk_report_zones() argument [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/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 | 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() 170 struct gendisk *disk = ns->head->disk; in nvme_mpath_start_request() local 178 if (!blk_queue_io_stat(disk->queue) || blk_rq_is_passthrough(rq) || in nvme_mpath_start_request() 183 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/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() 398 if (get_disk_ro(cd->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() [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 …]
|
| H A D | raid1.c | 356 * Update disk head position estimator based on IRQ completion info. 358 static inline void update_head_pos(int disk, struct r1bio *r1_bio) in update_head_pos() argument 362 conf->mirrors[disk].head_position = in update_head_pos() 367 * Find the disk number which triggered given bio 601 static void update_read_sectors(struct r1conf *conf, int disk, in update_read_sectors() argument 604 struct raid1_info *info = &conf->mirrors[disk]; in update_read_sectors() 617 int disk; in choose_first_rdev() local 619 for (disk = 0 ; disk < conf->raid_disks * 2 ; disk++) { in choose_first_rdev() 623 if (r1_bio->bios[disk] == IO_BLOCKED) in choose_first_rdev() 626 rdev = conf->mirrors[disk].rdev; in choose_first_rdev() [all …]
|
| /linux/Documentation/admin-guide/ |
| 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/fs/quota/ |
| H A D | quotaio_v2.h | 34 * The following structure defines the format of the disk quota file 35 * (as it appears on disk) - the file is a radix tree whose leaves point 43 __le32 dqb_bhardlimit; /* absolute limit on disk space (in QUOTABLOCK_SIZE) */ 44 __le32 dqb_bsoftlimit; /* preferred limit on disk space (in QUOTABLOCK_SIZE) */ 46 __le64 dqb_btime; /* time limit for excessive disk use */ 56 __le64 dqb_bhardlimit; /* absolute limit on disk space (in QUOTABLOCK_SIZE) */ 57 __le64 dqb_bsoftlimit; /* preferred limit on disk space (in QUOTABLOCK_SIZE) */ 59 __le64 dqb_btime; /* time limit for excessive disk use */
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | allocators.rst | 7 generally a desirably quality of a filesystem. On a spinning disk, 9 that the head actuator and disk must perform to access a data block, 10 thus speeding up disk IO. On an SSD there of course are no moving parts, 19 speculatively allocates 8KiB of disk space to the file on the assumption 26 the filesystem defers deciding the exact placement on the disk until all 27 the dirty buffers are being written out to disk. By not committing to a 43 The fifth trick is that the disk volume is cut up into 128MB block 49 over a disk; as the top-level directory/file blobs fill up one block
|
| /linux/drivers/cdrom/ |
| H A D | gdrom.c | 76 {MEDIUM_ERROR, "Disk not ready"}, 79 {UNIT_ATTENTION, "Device needs attention - disk may have been changed"}, 96 struct gendisk *disk; member 223 * Prepare disk command 356 /* spin up the disk */ in gdrom_open() 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() [all …]
|