From 3a7200e49b4e697ed93fb88178180ab6171d3f17 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 4 Aug 2018 17:50:58 +0200 Subject: executor: abort fuse connection If the test process is not dying after 100ms, abort all fuse connections in the system. This gets rid at least of simple fuse deadlocks, let's see how well this works in all cases. --- sys/linux/test/fuse_deadlock | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'sys/linux/test/fuse_deadlock') diff --git a/sys/linux/test/fuse_deadlock b/sys/linux/test/fuse_deadlock index 2c24cf53a..fee10ac39 100644 --- a/sys/linux/test/fuse_deadlock +++ b/sys/linux/test/fuse_deadlock @@ -1,11 +1,10 @@ -# Test for deadlock in fuse. -# Some calls are commented out for now, because it actually deadlocks kernel. +# Test how we avoid fuse deadlocks in kill_and_wait. mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000640)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000400)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id', 0x3d}, 0x2c, {'group_id', 0x3d}, 0x2c}) -#read$FUSE(r0, &(0x7f0000002000), 0x1000) -#pread64(r0, &(0x7f0000000540)=""/236, 0xec, 0x0) -#write$FUSE_INIT(r0, &(0x7f0000000100)={0x50, 0x0, 0x1, {0x7, 0x1b}}, 0x50) -#mkdirat(0xffffffffffffff9c, &(0x7f0000000500)='./file0/file0\x00', 0x0) -#write$FUSE_NOTIFY_INVAL_ENTRY(r0, &(0x7f00000000c0)={0x29, 0x3, 0x0, {0x1, 0x8, 0x0, 'group_id'}}, 0x29) +read$FUSE(r0, &(0x7f0000002000), 0x1000) +pread64(r0, &(0x7f0000000540)=""/236, 0xec, 0x0) +write$FUSE_INIT(r0, &(0x7f0000000100)={0x50, 0x0, 0x1, {0x7, 0x1b}}, 0x50) +mkdirat(0xffffffffffffff9c, &(0x7f0000000500)='./file0/file0\x00', 0x0) +write$FUSE_NOTIFY_INVAL_ENTRY(r0, &(0x7f00000000c0)={0x29, 0x3, 0x0, {0x1, 0x8, 0x0, 'group_id'}}, 0x29) -- cgit mrf-deployment