]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commit
generic: concurrent non-overlapping direct I/O on the same extents
authorOmar Sandoval <osandov@fb.com>
Thu, 17 Nov 2016 00:29:34 +0000 (16:29 -0800)
committerEryu Guan <eguan@redhat.com>
Fri, 18 Nov 2016 08:41:06 +0000 (16:41 +0800)
commit21616145d29458fc017d0a1d71c6eff0d4a70e17
tree37f6112ad6f6ee1299fb50e09182b1ce1cea3b89
parent775e2d0c03176c5a084e65ef1407864610891fc8
generic: concurrent non-overlapping direct I/O on the same extents

There have been a couple of logic bugs in `btrfs_get_extent()` which
could lead to spurious -EEXIST errors from read or write. This test
exercises those conditions by having two threads race to add an
extent to the extent map.

This is fixed by Linux commit 8dff9c853410 ("Btrfs: deal with
duplciates during extent_map insertion in btrfs_get_extent") and the
patch "Btrfs: deal with existing encompassing extent map in
btrfs_get_extent()"
(http://marc.info/?l=linux-btrfs&m=147873402311143&w=2).

Although the bug is Btrfs-specific, nothing about the test is.

Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
.gitignore
src/Makefile
src/dio-interleaved.c [new file with mode: 0644]
tests/generic/391 [new file with mode: 0755]
tests/generic/391.out [new file with mode: 0644]
tests/generic/group