Josef Bacik 98114659e0 Btrfs: fix race with freeze and free space inodes
So we start our freeze, somebody comes in and does an fsync() on a file
where we have to commit a transaction for whatever reason, and we will
deadlock because the freeze is waiting on FS_FREEZE people to stop writing
to the file system, but the transaction is waiting for its free space inodes
to be written out, which are in turn waiting on sb_start_intwrite while
trying to write the file extents.  To fix this we'll just skip the
sb_start_intwrite() if we TRANS_JOIN_NOLOCK since we're being waited on by a
transaction commit so we're safe wrt to freeze and this will keep us from
deadlocking.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
2012-10-04 09:39:58 -04:00
..
2012-07-14 16:34:32 +04:00
2012-07-30 17:25:16 -07:00
2012-07-14 16:38:34 +04:00
2012-08-17 06:56:39 -07:00
2012-07-14 16:34:32 +04:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:38:34 +04:00
2012-07-16 14:24:43 -05:00
2012-07-14 16:34:32 +04:00
2012-09-04 18:45:54 +02:00
2012-08-04 12:15:38 +04:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:34:47 +04:00
2012-07-30 17:25:19 -07:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:34:47 +04:00
2012-07-30 17:25:16 -07:00
2012-07-14 16:34:32 +04:00
2012-07-14 16:34:47 +04:00
2012-08-22 17:41:09 +03:00
2012-07-22 23:58:16 +04:00
2012-07-14 16:34:47 +04:00
2012-03-20 21:29:46 -04:00
2012-03-20 21:29:46 -04:00
2012-08-20 10:11:47 -07:00
2012-07-30 17:25:21 -07:00
2012-07-14 16:32:47 +04:00
2012-07-14 16:38:34 +04:00
2012-03-20 21:29:38 -04:00
2012-07-14 16:32:48 +04:00
2012-08-22 10:30:10 -04:00
2012-09-22 20:48:18 -04:00
2012-08-04 01:24:44 +04:00