| /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 | 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 | error-injection.c | 27 struct gendisk *disk = bio->bi_bdev->bd_disk; in __blk_error_inject() local 31 list_for_each_entry_rcu(inj, &disk->error_injection_list, entry) { in __blk_error_inject() 49 disk->part0, blk_status_to_str(inj->status), in __blk_error_inject() 61 static int error_inject_add(struct gendisk *disk, enum req_op op, in error_inject_add() argument 91 disk->part0, blk_status_to_str(status), in error_inject_add() 100 mutex_lock(&disk->error_injection_lock); in error_inject_add() 101 if (!disk_live(disk)) { in error_inject_add() 102 mutex_unlock(&disk->error_injection_lock); in error_inject_add() 106 if (list_empty(&disk->error_injection_list)) in error_inject_add() 108 list_add_rcu(&inj->entry, &disk->error_injection_list); in error_inject_add() [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
|
| H A D | blk-wbt.c | 96 static int wbt_init(struct gendisk *disk, struct rq_wb *rwb); 170 struct backing_dev_info *bdi = rwb->rqos.disk->bdi; in wb_recent_wait() 212 else if (blk_queue_write_cache(rwb->rqos.disk->queue) && in wbt_rqw_done() 309 struct backing_dev_info *bdi = rwb->rqos.disk->bdi; in latency_exceeded() 362 struct backing_dev_info *bdi = rwb->rqos.disk->bdi; in rwb_trace_step() 432 if (!rwb->rqos.disk) in wb_timer_fn() 437 trace_wbt_timer(rwb->rqos.disk->bdi, status, rqd->scale_step, inflight); in wb_timer_fn() 739 static bool __wbt_enable_default(struct gendisk *disk) in __wbt_enable_default() argument 741 struct request_queue *q = disk->queue; in __wbt_enable_default() 745 mutex_lock(&disk->rqos_state_mutex); in __wbt_enable_default() [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/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/nvme/host/ |
| H A D | multipath.c | 123 if (h->disk) in nvme_mpath_unfreeze() 124 blk_mq_unfreeze_queue_nomemrestore(h->disk->queue); in nvme_mpath_unfreeze() 133 if (h->disk) in nvme_mpath_wait_freeze() 134 blk_mq_freeze_queue_wait(h->disk->queue); in nvme_mpath_wait_freeze() 143 if (h->disk) in nvme_mpath_start_freeze() 144 blk_freeze_queue_start(h->disk->queue); in nvme_mpath_start_freeze() 169 bio_set_dev(bio, ns->head->disk->part0); in nvme_failover_req() 181 struct gendisk *disk = ns->head->disk; in nvme_mpath_start_request() local 189 if (!blk_queue_io_stat(disk->queue) || in nvme_mpath_start_request() 193 !blk_rq_passthrough_stats(rq, disk->queue)) 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/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/include/linux/ |
| H A D | blkdev.h | 238 * disk_openers - returns how many openers are there for a disk 239 * @disk: disk to check 241 * This returns the number of openers for a disk. Note that this value is only 242 * stable if disk->open_mutex is held. 247 static inline unsigned int disk_openers(struct gendisk *disk) in disk_openers() argument 249 return atomic_read(&disk->part0->bd_openers); in disk_openers() 253 * disk_has_partscan - return %true if partition scanning is enabled on a disk 254 * @disk: disk to check 256 * Returns %true if partitions scanning is enabled for @disk, or %false if 259 static inline bool disk_has_partscan(struct gendisk *disk) in disk_has_partscan() argument [all …]
|
| /linux/drivers/block/ |
| 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 | nbd.c | 124 struct gendisk *disk; member 163 #define nbd_name(nbd) ((nbd)->disk->disk_name) 182 return disk_to_dev(nbd->disk); in nbd_to_dev() 240 struct gendisk *disk = dev_to_disk(dev); in pid_show() local 241 struct nbd_device *nbd = disk->private_data; in pid_show() 254 struct gendisk *disk = dev_to_disk(dev); in backend_show() local 255 struct nbd_device *nbd = disk->private_data; in backend_show() 267 struct gendisk *disk = nbd->disk; in nbd_dev_remove() local 269 del_gendisk(disk); in nbd_dev_remove() 280 put_disk(disk); in nbd_dev_remove() [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/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/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 WRITE_ONCE(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/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/fs/ |
| H A D | fs_dirent.c | 6 * fs on-disk file type to dirent file type conversion 20 * fs_ftype_to_dtype() - fs on-disk file type to dirent type. 21 * @filetype: The on-disk file type to convert. 23 * This function converts the on-disk file type value (FT_*) to the directory 47 * dirent file type to fs on-disk file type conversion 61 * fs_umode_to_ftype() - file mode to on-disk file type. 64 * This function converts the file mode value to the on-disk file type (FT_*).
|