DKCTL(8) BSD System Manager's Manual DKCTL(8)
dkctl -- program to manipulate disks
dkctl device command [arg [...]]
dkctl allows a user or system administrator to manipulate and configure disks in various ways. It is used by specifying a disk to manipu-
late, the command to perform, and any arguments the command may require. device is the disk (wdN, sdN, ...) containing the wedges unless
noted otherwise. If dkctl is called without any command, it displays strategy, cache, and all of the wedges of the specified device.
The following commands are supported:
getcache Get and display the cache enables for the specified device.
setcache none | r | w | rw [save]
Set the cache enables for the specified device. The enables are as follows:
none Disable all caches on the disk.
r Enable the read cache, and disable all other caches on the disk.
w Enable the write cache, and disable all other caches on the disk.
rw Enable both the read and write caches on the disk.
save If specified, and the cache enables are savable, saves the cache enables in the disk's non-volatile parame-
synccache [force] Causes the cache on the disk to be synchronized, flushing all dirty write cache blocks to the media. If force is speci-
fied, the cache synchronization command will be issued even if the kernel does not believe that there are any dirty cache
blocks in the disk's cache.
keeplabel [yes | no]
Specify to keep or drop the in-core disklabel on the last close of the disk device. (Keep if yes is specified, drop if
no is specified.)
badsector flush | list | retry
Used for managing the kernel's bad sector list for wd(4) devices. The software bad sector list is only maintained if the
option ``WD_SOFTBADSECT'' was specified on kernel configuration.
flush Clears the in kernel list of bad sectors.
list Prints out the list of bad sector ranges recorded by the kernel.
retry Flushes the in kernel list and then retries all of the previously recorded bad sectors, causing the list
to self update. This option can only be used with character devices.
addwedge name startblk blkcnt ptype
Define a ``wedge'' on the specified disk starting at block number startblk and spanning blkcnt blocks. You need to cre-
ate the partition first with fdisk(8) or gpt(8), dkctl will just name it. The wedge will have the volume name name and
the partition type ptype. Valid choices for ptype would be unused, swap, ffs, lfs, ext2fs, cd9660, ados, hfs, msdos,
filecore, raidframe, ccd, appleufs, ntfs, and cgd.
The device name of the virtual block device assigned to the wedge will be displayed after the wedge has been successfully
created. See dk(4) for more information about disk wedges.
delwedge dk Delete the wedge specified by its device name dk from the specified disk.
getwedgeinfo Display information about the specified disk wedge. device in this case is the wedge name.
listwedges List all of the wedges configured on the specified disk.
strategy [name] Get and set the disk I/O scheduler (buffer queue strategy) on the drive. If you do not provide a name argument, the cur-
rently selected strategy will be shown. To set the bufq strategy, the name argument must be specified. name must be the
name of one of the built-in kernel disk I/O schedulers. To get the list of supported schedulers, use the following com-
$ sysctl kern.bufq.strategies
Note: The addwedge and delwedge commands only modify the in-kernel representation of disks; for modifying information on the disks them-
selves, refer to fdisk(8) or gpt(8).
ioctl(2), dk(4), sd(4), wd(4), disklabel(5), atactl(8), fdisk(8), gpt(8), scsictl(8)
The dkctl command first appeared in NetBSD 1.6.
The dkctl command was written by Jason R. Thorpe of Wasabi Systems, Inc.
January 5, 2011 BSD