In association with heise online

Software RAID and device mapper

The kernel code for software RAID now offers bad block management for RAID levels 1, 4, 5 and 6. This detects and avoids known bad areas on the RAID disks (see e.g. 1, 2, 3). It does not work for MD arrays which use MD metadata version 0.90 and it requires the development version 3.3 of userland tool mdadm. Some pointers on this can be found in an email and patch review for Linux 3.1 from MD maintainer Neil Brown.

Version 3.1 of disk encryption system dm-crypt is able to forward discard commands to the underlying disk. This is useful for SSDs, as it allows them to be informed of freed blocks via ATA trim, improving both speed and lifespan. For security reasons – to prevent attackers from being able to make inferences from the extent of disk use – this function is deactivated by default.

The Device mapper is now able to access RAID 1 functions in the MD code and supports storage of metadata on a dedicated storage device – these 'metadata devices' can improve error handling and integrity checking.

In Brief


  • The HFS Plus code now supports storage devices with a capacity in excess of 2 TB.
  • Like NT-based Windows systems, Linux 3.1 will be able to save files of up to four gigabytes in size on FAT16 drives of the same size, if they use a cluster size of 64 KB.
  • The new SEEK_HOLE and SEEK_DATA VFS functions are able to find large memory areas populated entirely by zeroes within files.


  • The latest version of losetup can use the new '/dev/loop-control' device to generate or remove loop devices dynamically; the previous standard procedure of allocating a specific number of loop devices using kernel/module parameters can now be discarded.
  • The bfa driver now supports the Brocade 1860 Fabric Adapter.
  • In an article entitled 'Avoiding the OS abstraction trap' on, Intel developer Dan J. Williams explores some of the difficulties he and his colleagues faced working on the isci driver. The isci driver, which supports the SAS controller in Intel's C600 server and workstation chipset, was merged into the kernel in Linux 3.0, after it had been substantially reworked by Intel developers. The need to rework the driver arose because parts of it were initially conceived as operating system-independent, as a result of which they did not interpolate well into Linux. Experienced SCSI developers had consequently initially declined to merge it.

Minor gems

Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the "official" kernel sources maintained by Linus Torvalds at The commit comments available at these links and the patches themselves provide extensive further information on the respective changes.

Every link is preceded by various letters and numbers in square brackets. The letter "C" identifies patches that modify Kconfig files, which contain the help texts and configuration options displayed by "make menuconfig", "make xconfig" and similar tools during kernel configuration. "D" is used for patches that modify the documentation available under Documentation/ in the kernel branch. "N" identifies changes which create a new file. The numbers provide a rough idea of the patch size: For instance, "1" is used for changes between 10 and 20 KBytes including comment, "2" for patches between 20 and 30 KBytes; changes without a number are less than 10 KBytes, while patches marked "9" are 90 KBytes or more.

Next: Minor Gems - Storage

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit