[Ocfs2-test-devel] [PATCH 37/59] reflink-test: fix mutiple reflink test race
Junxiao Bi
junxiao.bi at oracle.com
Sun Sep 13 19:44:23 PDT 2015
Rank 2 and Rank 3 pick a random length of value to update xattr, Rank3 will
read the xattr and do validation after update, if Rank 2 picks a xattr length
larger than Rank 3's and update the xattr after Rank 3's update but before the
validation, fgetxattr in Rank 3 will return ERANGE error. Set "xattr_value_sz"
to the max value to fix it.
Signed-off-by: Junxiao Bi <junxiao.bi at oracle.com>
---
programs/reflink_tests/multi_reflink_test.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/programs/reflink_tests/multi_reflink_test.c b/programs/reflink_tests/multi_reflink_test.c
index 45c96fe..bd980c6 100755
--- a/programs/reflink_tests/multi_reflink_test.c
+++ b/programs/reflink_tests/multi_reflink_test.c
@@ -1116,6 +1116,7 @@ static int do_xattr_data_cows(char *ref_pfx, unsigned long iter, int ea_nums)
if (xattr_value_sz > xattr_name_sz + 50) {
+ xattr_value_sz = XATTR_VALUE_MAX_SZ;
ret = read_ea(NORMAL, fd);
if (ret < 0)
goto bail;
--
1.7.9.5
More information about the Ocfs2-test-devel
mailing list