• Mike Miller (OS Dev)'s avatar
    [PATCH] cciss: fix for 2TB support · 97c06978
    Mike Miller (OS Dev) authored
    This patch changes the way we determine if a logical volume is larger than
    2TB.
    
    The original test looked for a total_size of 0.  Originally we added 1 to the
    total_size.  That would make our read_capacity return size 0 for >2TB lv's.
    We assumed that we could not have a lv size of 0 so it seemed OK until we were
    in a clustered system.  The backup node would see a size of 0 due to the
    reservation on the drive.  That caused the driver to switch to 16-byte CDB's
    which are not supported on older controllers.  After that everything was
    broken.
    
    It may seem petty but I don't see the value in trying to determine if the LBA
    is beyond the 2TB boundary.  That's why when we switch we use 16-byte CDB's
    for all read/write operations.  Please consider this for inclusion.
    Signed-off-by: default avatarMike Miller <mike.miller@hp.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    97c06978
cciss.c 99.5 KB