• Martijn Coenen's avatar
    loop: Fix wrong masking of status flags · 6ac92fb5
    Martijn Coenen authored
    In faf1d254, loop_set_status() now assigns lo_status directly from
    the passed in lo_flags, but then fixes it up by masking out flags that
    can't be set by LOOP_SET_STATUS; unfortunately the mask was negated.
    
    Re-ran all ltp ioctl_loop tests, and they all passed.
    
    Pass run of the previously failing one:
    
    tst_test.c:1247: INFO: Timeout per run is 0h 05m 00s
    tst_device.c:88: INFO: Found free device 0 '/dev/loop0'
    ioctl_loop01.c:49: PASS: /sys/block/loop0/loop/partscan = 0
    ioctl_loop01.c:50: PASS: /sys/block/loop0/loop/autoclear = 0
    ioctl_loop01.c:51: PASS: /sys/block/loop0/loop/backing_file =
    '/tmp/ZRJ6H4/test.img'
    ioctl_loop01.c:65: PASS: get expected lo_flag 12
    ioctl_loop01.c:67: PASS: /sys/block/loop0/loop/partscan = 1
    ioctl_loop01.c:68: PASS: /sys/block/loop0/loop/autoclear = 1
    ioctl_loop01.c:77: PASS: access /dev/loop0p1 succeeds
    ioctl_loop01.c:83: PASS: access /sys/block/loop0/loop0p1 succeeds
    
    Summary:
    passed   8
    failed   0
    skipped  0
    warnings 0
    
    Fixes: faf1d254 ("loop: Clean up LOOP_SET_STATUS lo_flags handling")
    Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
    Signed-off-by: default avatarMartijn Coenen <maco@android.com>
    Tested-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    6ac92fb5
loop.c 59.2 KB