• Roland Dreier's avatar
    target: Refactor MODE SENSE emulation · d4b2b867
    Roland Dreier authored
    Convert spc_emulate_modesense() to use a table of mode pages, rather
    than a switch statement.  This makes it possible to add more pages
    sanely -- in particular we no longer need to make sure we keep the
    0x3f (return all mode pages) case in sync.
    
    While we're touching this code, make our MODE SENSE emulation a bit
    better in a couple of ways:
     - When the initiator passes PC == 1 asking for changeable values,
       return all 0s to show we don't support setting anything.
     - Return a block descriptor for disk devices.
    
    (nab: fix up device attribute references to use dev->dev_attrib
          in for-next code)
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    d4b2b867
target_core_spc.c 32.9 KB