[rhelv6-beta-list] Anyone can explain more details of that?

Brian Long brilong at cisco.com
Fri Jul 2 20:08:18 UTC 2010


On 07/02/2010 03:59 PM, Tom Coughlan wrote:
> On Fri, 2010-07-02 at 14:21 -0400, Kirby Zhou wrote:
>> Anyone can explain more details of that?
>>
>> When using the DIF/DIX hardware checksum features of a storage path behind a
>> block device, errors will occur if the block device is used as a general
>> purpose block device. 
>> Buffered I/O or mmap(2) based IO will not work reliably as there are no
>> interlocks in the buffered write path to prevent overwriting cached data
>> while the hardware is performing DMA operations. An overwrite during a DMA
>> operation will cause a torn write and the write will fail checksums in the
>> hardware storage path. This problem is common to all block device or file
>> system based buffered or mmap(2) I/O, so the problem of I/O errors during
>> overwrites cannot be worked around. 
>> DIF/DIX enabled block devices should only be used with applications that use
>> O_DIRECT I/O. Applications should use the raw block device, though it should
>> be safe to use the XFS file system on a DIF/DIX enabled block device if only
>> O_DIRECT I/O is issued through the file system. In both cases the
>> responsibility for preventing torn writes lies with the application, so only
>> applications designed for use with O_DIRECT I/O and DIF/DIX hardware should
>> enable this feature.
>>
>> What is a DIF/DIX hardware?
> 
> DIF is a relatively new data integrity feature in the SCSI Standard. It
> allows the HBA to add a checksum to each block of data (increasing the
> size of a logical block from 512 to 520 bytes). That checksum gets
> written to the storage device, checked, stored, and checked on later
> reads. DIF obviously requires support in the HBA driver/firmware, and in
> the storage device. This type of hardware is just barely making its way
> to the market at this time. 

Sounds like the 520-byte-per-sector fibre channel drives NetApp started
selling many years ago.  When I tried connecting the drives to a Linux
host 3 years ago, the kernel wouldn't acknowledge the
non-512-byte-per-sector drives.

/Brian/
-- 
       Brian Long                             |       |
       Corporate Security Programs Org    . | | | . | | | .
                                              '       '
                                              C I S C O




More information about the rhelv6-beta-list mailing list