]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
qa: krbd_fallocate.sh: zero can be munged to truncate
authorIlya Dryomov <idryomov@gmail.com>
Mon, 25 Mar 2019 19:59:29 +0000 (20:59 +0100)
committerNathan Cutler <ncutler@suse.com>
Wed, 1 May 2019 15:21:47 +0000 (17:21 +0200)
commit1073d4d5dda85a2f69aa618b77028663a8593c0f
treec11f174bb8aaf5844d6e3b18c44d8c9050fba616
parent1436006594665279fe734b4c15d7e08c13ebd777
qa: krbd_fallocate.sh: zero can be munged to truncate

The test case is issuing discards that span two objects: the tail of
the first object is truncated, the head of the second object is zeroed.
These discards aren't serial, so there is a race:

  discard i ~ i + 1: truncate i, zero i + 1
  discard i + 1 ~ i + 2: truncate i + 1, zero i + 2

can be executed as

  truncate i + 1, zero i + 2, truncate i, zero i + 1

For object i + 1, the sequence ends up being truncate tail, then zero
head.  This zero op is munged to truncate on the OSD, resulting in size
0 instead of OBJECT_SIZE / 2.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 673673f53d0c258e6096a05d9de979b2c20adddf)
qa/workunits/rbd/krbd_fallocate.sh