
%         Registration                dmraid - device-mapper RAID tool        
%  [2]Register/Submit Proposal Heinz Mauelshagen (heinzm@redhat.com)          

Device-mapper, the new Linux 2.6 kernel        
generic device-mapping facility, is capable of 
mapping block devices in various ways (e.g.     
linear, striped, mirrored). The mappings are   
implemented in runtime loadable plugins called 
mapping targets.                               

These mappings can be used to support          
arbitrary software RAID solutions on Linux     
2.6, such as ATARAID, without the need to have 
a special low-level driver as it used to be    
with Linux 2.4. This avoids code-redundancy    
and reduces error rates.                       

Device-mapper runtime mappings (eg, map sector 
N of a mapped device onto sector M of another  
device) are defined in mapping tables.         

The dmraid application is capable of creating  
these for a variety of ATARAID solutions (eg.  
Highpoint, NVidia, Promise, VIA). It uses an   
abstracted representation of RAID devices and  
RAID sets internally to keep properties such   
as paths, sizes, offsets into devices and      
layout types (e.g., RAID0). RAID sets can be of  
arbitrary hierarchical depth in order to       
reflect more complex RAID configurations such  
as RAID10.                                     

Because the various vendor specific metadata   
formats stored onto ATA devices by the ATARAID 
BIOS are all different, metadata format        
handlers are used to translate between the     
ondisk representation and the internal         
abstracted format.                             

The mapping tables which need to be loaded     
into device-mapper managed devices are derived 
from the internal abstracted format.           

My talk will give a device-mapper              
architecture/feature overview and elaborate on 
the dmraid architecture and how it uses the    
device-mapper features to enable access to     
ATARAID devices.                               


