• Sumit.Saxena@avagotech.com's avatar
    megaraid_sas : Extended VD support · 51087a86
    Sumit.Saxena@avagotech.com authored
    Resending the patch. Addressed the review comments from Tomas Henzl.
    reserved1 field(part of union) of Raid map struct was not required so it is removed.
    
    Current MegaRAID firmware and hence the driver only supported 64VDs.
    E.g: If the user wants to create more than 64VD on a controller,
        it is not possible on current firmware/driver.
    
    New feature and requirement to support upto 256VD, firmware/driver/apps need changes.
    In addition to that there must be a backward compatibility of the new driver with the
    older firmware and vice versa.
    
    RAID map is the interface between Driver and FW to fetch all required
    fields(attributes) for each Virtual Drives.
    In the earlier design driver was using the FW copy of RAID map where as
    in the new design the Driver will keep the RAID map copy of its own; on which
    it will operate for any raid map access in fast path.
    
    Local driver raid map copy will provide ease of access through out the code
    and provide generic interface for future FW raid map changes.
    
    For the backward compatibility driver will notify FW that it supports 256VD
    to the FW in driver capability field.
    Based on the controller properly returned by the FW, the Driver will know
    whether it supports 256VD or not and will copy the RAID map accordingly.
    
    At any given time, driver will always have old or new Raid map.
    So with this changes, driver can also work in host lock less mode. Please
    see next patch which enable host lock less mode for megaraid_sas driver.
    Signed-off-by: default avatarSumit Saxena <sumit.saxena@avagotech.com>
    Signed-off-by: default avatarKashyap Desai <kashyap.desai@avagotech.com>
    Reviewed-by: default avatarTomas Henzl <thenzl@redhat.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    51087a86
megaraid_sas_base.c 178 KB