📄 dasd
字号:
DASD device driverS/390's disk devices (DASDs) are managed by Linux via the DASD devicedriver. It is valid for all types of DASDs and represents them toLinux as block devices, namely "dd". Currently the DASD driver uses asingle major number (254) and 4 minor numbers per volume (1 for thephysical volume and 3 for partitions). With respect to partitions seebelow. Thus you may have up to 64 DASD devices in your system.The kernel parameter 'dasd=from-to,...' may be issued arbitrary timesin the kernel's parameter line or not at all. The 'from' and 'to'parameters are to be given in hexadecimal notation without a leading0x.If you supply kernel parameters the different instances are processedin order of appearance and a minor number is reserved for any devicecovered by the supplied range up to 64 volumes. Additional DASDs areignored. If you do not supply the 'dasd=' kernel parameter at all, the DASD driver registers all supported DASDs of your system to a minornumber in ascending order of the subchannel number.The driver currently supports ECKD-devices and there are stubs forsupport of the FBA and CKD architectures. For the FBA architectureonly some smart data structures are missing to make the supportcomplete. We performed our testing on 3380 and 3390 type disks of differentsizes, under VM and on the bare hardware (LPAR), using internal disksof the multiprise as well as a RAMAC virtual array. Disks exported byan Enterprise Storage Server (Seascape) should work fine as well.We currently implement one partition per volume, which is the wholevolume, skipping the first blocks up to the volume label. These arereserved for IPL records and IBM's volume label to assureaccessibility of the DASD from other OSs. In a later stage we willprovide support of partitions, maybe VTOC oriented or using a kind ofpartition table in the label record.USAGE-Low-level format (?CKD only)For using an ECKD-DASD as a Linux harddisk you have to low-levelformat the tracks by issuing the BLKDASDFORMAT-ioctl on thatdevice. This will erase any data on that volume including IBM volumelabels, VTOCs etc. The ioctl may take a 'struct format_data *' or'NULL' as an argument. typedef struct { int start_unit; int stop_unit; int blksize;} format_data_t;When a NULL argument is passed to the BLKDASDFORMAT ioctl the wholedisk is formatted to a blocksize of 1024 bytes. Otherwise start_unitand stop_unit are the first and last track to be formatted. Ifstop_unit is -1 it implies that the DASD is formatted from start_unitup to the last track. blksize can be any power of two between 512 and4096. We recommend no blksize lower than 1024 because the ext2fs uses1kB blocks anyway and you gain approx. 50% of capacity increasing yourblksize from 512 byte to 1kB.-Make a filesystemThen you can mk??fs the filesystem of your choice on that volume orpartition. For reasons of sanity you should build your filesystem onthe partition /dev/dd?1 instead of the whole volume. You only lose 3kB but may be sure that you can reuse your data after introduction of areal partition table.BUGS:- Performance sometimes is rather low because we don't fully exploit clusteringTODO-List:- Add IBM'S Disk layout to genhd- Enhance driver to use more than one major number- Enable usage as a module- Support Cache fast write and DASD fast write (ECKD)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -