1
mirror of https://github.com/rclone/rclone synced 2024-12-02 11:53:45 +01:00
rclone/vfs
Nick Craig-Wood a2336ad774 vfs: fix deadlock in mount tests
This was caused by this sequence of calls

1> file.Release
1> file.close  -> takes the file lock
2> vfs.waitforWriters
2> dir.walk -> takes the dir lock
1> file.setObject
1> dir.addObject -> attempts to take the dir lock - BLOCKS
2> file.activeWriters -> tries to take file lock - BLOCKS - DEADLOCK

The fix is to make activeWriters not take the file lock and use atomic
operations to read the number of writers instead.
2018-03-09 23:15:38 +00:00
..
vfsflags Break the fs package up into smaller parts. 2018-01-15 17:51:14 +00:00
cache_test.go vfs: clean path names before using them in the cache 2018-02-26 16:59:14 +00:00
cache.go vfs: clean path names before using them in the cache 2018-02-26 16:59:14 +00:00
dir_handle_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
dir_handle.go vfs: factor duplicated Open code into vfs from mount/cmount 2017-11-03 13:00:00 +00:00
dir_test.go fs: add ChangeNotify and backend support for it (#2094) 2018-03-08 22:03:34 +02:00
dir.go fs: add ChangeNotify and backend support for it (#2094) 2018-03-08 22:03:34 +02:00
errors_new.go vfs: add ECLOSED and tidy errors 2017-11-04 10:24:10 +00:00
errors_old.go vfs: add ECLOSED and tidy errors 2017-11-04 10:24:10 +00:00
errors_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
errors.go vfs: Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC 2018-02-26 17:04:27 +00:00
file_test.go vfs: make specialized file Open functions private 2018-01-19 11:46:01 +00:00
file.go vfs: fix deadlock in mount tests 2018-03-09 23:15:38 +00:00
help.go vfs: fix docs - fixes #2067 2018-02-12 11:29:32 +00:00
make_open_tests.go vfs: make sure all 96 combinations of flags for Open work 2017-11-28 20:39:23 +00:00
open_test.go vfs: Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC 2018-02-26 17:04:27 +00:00
read_test.go vfs: add ECLOSED and tidy errors 2017-11-04 10:24:10 +00:00
read_write_test.go vfs: fix applying modtime for an open Write Handle 2018-03-06 21:58:11 +00:00
read_write.go vfs: update cached copy if we know it has changed even if pending opens 2018-03-04 11:20:22 +00:00
read.go vfs: don't cache the object in read and read/write handles 2018-03-04 11:20:22 +00:00
vfs_test.go Move all backends into backend directory 2018-01-12 17:07:38 +00:00
vfs.go fs: add ChangeNotify and backend support for it (#2094) 2018-03-08 22:03:34 +02:00
write_test.go vfs: fix applying modtime for an open Write Handle 2018-03-06 21:58:11 +00:00
write.go vfs: fix applying modtime for an open Write Handle 2018-03-06 21:58:11 +00:00