Linus TorvaldsLinux-2.6.12-rc21da177e21 years agoHistory
37 lines · 1.6 KB · Text
RawDownload
dm-zero======= Device-Mapper's "zero" target provides a block-device that always returnszero'd data on reads and silently drops writes. This is similar behavior to/dev/zero, but as a block-device instead of a character-device. Dm-zero has no target-specific parameters. One very interesting use of dm-zero is for creating "sparse" devices inconjunction with dm-snapshot. A sparse device reports a device-size largerthan the amount of actual storage space available for that device. A user canwrite data anywhere within the sparse device and read it back like a normaldevice. Reads to previously unwritten areas will return a zero'd buffer. Whenenough data has been written to fill up the actual storage space, the sparsedevice is deactivated. This can be very useful for testing device andfilesystem limitations. To create a sparse device, start by creating a dm-zero device that's thedesired size of the sparse device. For this example, we'll assume a 10TBsparse device. TEN_TERABYTES=`expr 10 \* 1024 \* 1024 \* 1024 \* 2`   # 10 TB in sectorsecho "0 $TEN_TERABYTES zero" | dmsetup create zero1 Then create a snapshot of the zero device, using any available block-device asthe COW device. The size of the COW device will determine the amount of realspace available to the sparse device. For this example, we'll assume /dev/sdb1is an available 10GB partition. echo "0 $TEN_TERABYTES snapshot /dev/mapper/zero1 /dev/sdb1 p 128" | \   dmsetup create sparse1 This will create a 10TB sparse device called /dev/mapper/sparse1 that has10GB of actual storage space available. If more than 10GB of data is writtento this device, it will start returning I/O errors. 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t