1
0
Files
linux/fs
Wang Shilong cb7ab02156 Btrfs: wrap repeated code into scrub_blocked_if_needed()
Just wrap same code into one function scrub_blocked_if_needed().

This make a change that we will move waiting (@workers_pending = 0)
before we can wake up commiting transaction(atomic_inc(@scrub_paused)),
we must take carefully to not deadlock here.

Thread 1			Thread 2
				|->btrfs_commit_transaction()
					|->set trans type(COMMIT_DOING)
					|->btrfs_scrub_paused()(blocked)
|->join_transaction(blocked)

Move btrfs_scrub_paused() before setting trans type which means we can
still join a transaction when commiting_transaction is blocked.

Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
Suggested-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
2014-01-28 13:19:53 -08:00
..
2013-10-24 23:43:27 -04:00
2013-12-27 15:14:45 -06:00
2013-11-13 12:09:12 +09:00
2014-01-06 14:00:23 -05:00
2013-06-29 12:56:53 +04:00
2013-12-08 21:14:59 -05:00
2013-10-27 16:27:07 -07:00
2013-09-16 18:20:25 -07:00
2013-06-29 12:56:32 +04:00
2013-11-09 00:16:32 -05:00
2013-06-29 12:56:39 +04:00
2013-06-29 12:56:29 +04:00
2013-12-22 11:03:49 -08:00
2013-06-29 12:57:04 +04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-06-29 12:57:05 +04:00
2013-09-10 18:56:31 -04:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:20 -05:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:19 -05:00
2013-10-24 23:35:00 -04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:31 -05:00
2013-11-09 00:16:20 -05:00