• Stefan Haberland's avatar
    s390/dasd: add aq_mask sysfs attribute · 9558a8e9
    Stefan Haberland authored
    Add sysfs attribute that controls the DASD autoquiesce feature.
    The autoquiesce is disabled when 0 is echoed to the attribute.
    
    A value greater than 0 will enable the feature.
    The aq_mask attribute will accept an unsigned integer and the value
    will be interpreted as bitmask defining the trigger events that will
    lead to an automatic quiesce.
    
    The following autoquiesce triggers will currently be available:
    
    DASD_EER_FATALERROR  1 - any final I/O error
    DASD_EER_NOPATH      2 - no remaining paths for the device
    DASD_EER_STATECHANGE 3 - a state change interrupt occurred
    DASD_EER_PPRCSUSPEND 4 - the device is PPRC suspended
    DASD_EER_NOSPC       5 - there is no space remaining on an ESE device
    DASD_EER_TIMEOUT     6 - a certain amount of timeouts occurred
    DASD_EER_STARTIO     7 - the IO start function encountered an error
    
    The currently supported maximum value is 255.
    
    Bit 31 is reserved for internal usage.
    Bit 0 is not used.
    
    Example:
    
     - deactivate autoquiesce
       $ echo 0 > /sys/bus/ccw/0.0.1234/aq_mask
    
     - enable autoquiesce for FATALERROR, NOPATH and TIMEOUT
       (0000 0000 0000 0000  0000 0000 0100 0110 => 70)
       $ echo 70 > /sys/bus/ccw/0.0.1234/aq_mask
    Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
    Reviewed-by: default avatarJan Hoeppner <hoeppner@linux.ibm.com>
    Reviewed-by: default avatarHalil Pasic <pasic@linux.ibm.com>
    Link: https://lore.kernel.org/r/20230405142017.2446986-4-sth@linux.ibm.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
    9558a8e9
dasd_int.h 43.6 KB