ceph/qa/rbd
Ilya Dryomov a9ed8d3279 qa: avoid page cache for krbd discard round off tests
rbd rounds off and ignores discards that are smaller than alloc_size,
but the page cache is invalidated according to the original offset and
length, before calling into the driver.  For a 512~4193792 discard, all
pages except for the first will be invalidated, but the first page may
remain cached after being partially zeroed out.  This results in an
inconsistency when alloc_size != 512.  E.g. for 64k:

                0       512     4k      64k             4M
                |       |       |       |               |
  page cache:   xxxxxxxx00000000xxxxxxxx0000000000000000
       RADOS:   xxxxxxxxxxxxxxxxxxxxxxxx0000000000000000

Given that these tests asserts on-disk state, we need to read directly
from disk.  krbd_discard_512b.t and krbd_zeroout.t are fine -- there is
no rounding there.

Fixes: https://tracker.ceph.com/issues/41753
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-09-17 22:20:27 +02:00
..
common.sh
krbd_blkroset.t
krbd_deep_flatten.t
krbd_discard_4M.t qa: avoid page cache for krbd discard round off tests 2019-09-17 22:20:27 +02:00
krbd_discard_512b.t qa: update and rename krbd_discard_1b.t 2019-03-18 19:17:44 +01:00
krbd_discard_granularity.t qa: add krbd_discard_granularity.t test 2019-03-19 11:49:19 +01:00
krbd_discard.t qa: avoid page cache for krbd discard round off tests 2019-09-17 22:20:27 +02:00
krbd_huge_image.t
krbd_msgr_segments.t
krbd_parent_overlap.t qa: krbd_parent_overlap.t: fix read test 2019-08-28 17:07:07 +02:00
krbd_whole_object_zeroout.t
krbd_zeroout.t
rbd.sh