d04760e tests: Test reading and writing large offsets

1 file Authored by nsoffer 5 years ago, Committed by teigland 5 years ago,
    tests: Test reading and writing large offsets
    
    The python module uses "k" format string[1] to convert lockspace offset
    and PyInt_AsLong[2] to convert disk offset.  Both return long, while
    sanlock offset use uint64_t.  This is not correct on all systems but I'm
    not sure we support any system when sizeof(long) < 8.
    
    Add tests for large offset exceeding LONG_MAX to check that current code
    actually works. Vdsm does not use such offset yet, but when using 4k
    sector size and 2 MiB alignment, vdsm will access such offset.
    
    Theoretically we can test up to (16 TiB - 1 MiB) offset, but testing
    show that practical maximum file size is about 15 TiB.  To make the test
    less likely to fail on developer machine or CI slave, use 1 TiB file for
    testing large offset.
    
    [1] https://docs.python.org/2.7/c-api/arg.html
        (see k (integer) [unsigned long])
    [2] https://docs.python.org/2.7/c-api/int.html#c.PyInt_AsLong
    
    Signed-off-by: Nir Soffer <nsoffer@redhat.com>
    
        
file modified
+64 -27