aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/test/fuse_deadlock
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-08-04 17:50:58 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-08-04 17:50:58 +0200
commit3a7200e49b4e697ed93fb88178180ab6171d3f17 (patch)
tree555c10f070c2b40e4b929f6f34f48fd694190c0f /sys/linux/test/fuse_deadlock
parentbf45aa5363c1f8db29b7c6fe9d086560857b0db4 (diff)
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.
Diffstat (limited to 'sys/linux/test/fuse_deadlock')
-rw-r--r--sys/linux/test/fuse_deadlock13
1 files changed, 6 insertions, 7 deletions
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)