• Stefan Weinhuber's avatar
    s390/dasd: enable raw_track_access reads without direct I/O · 558b9ef0
    Stefan Weinhuber authored
    The ECKD protocol supports reading of tracks with arbitrary format as
    raw track images. The DASD device driver supports this in its
    raw_track_access mode. In this mode it maps each track to sixteen 4096
    byte sectors and rejects all requests that are not properly aligned to
    this mapping.
    
    An application that wants to use a DASD in raw_track_access mode will
    usually use direct I/O to make sure that properly aligned requests are
    directly submitted to the driver. However, applications that are not
    aware of this mode, e.g. udev, will encounter I/O errors.
    
    To make the use without direct I/O possible and avoid this kind of
    alignment errors, we now pad unaligned read requests with a dummy
    page, so that we can always read full tracks.  Please note that
    writing is still only possible for full track images that are properly
    aligned.
    Signed-off-by: default avatarStefan Weinhuber <wein@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    558b9ef0
dasd_eckd.c 125 KB