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-31 01:02:46 +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-10-04 09:39:58 -04:00
2012-07-30 17:25:21 -07:00
2012-08-21 15:55:28 -07:00
2012-09-18 15:35:25 -05:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:34:32 +04:00
2012-07-14 16:34:32 +04:00
2012-09-21 11:48:05 -07:00
2012-07-14 16:38:34 +04:00
2012-07-16 14:24:43 -05:00
2012-09-14 09:36:03 -07:00
2012-07-14 16:34:32 +04:00
2012-08-03 13:24:07 -07:00
2012-07-23 00:01:29 +04:00
2012-08-01 10:26:23 -07:00
2012-09-04 00:04:43 +02:00
2012-08-17 08:04:47 -07:00
2012-08-01 10:26:23 -07:00
2012-07-14 16:34:32 +04:00
2012-09-04 18:45:54 +02:00
2012-09-14 18:05:14 -07:00
2012-08-04 12:15:38 +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-23 00:01:29 +04:00
2012-07-31 18:42:40 -07:00
2012-07-24 17:40:44 -07:00
2012-08-15 13:53:30 +02:00
2012-08-17 08:04:47 -07:00
2012-07-23 00:00:58 +04:00
2012-07-23 00:00:58 +04:00
2012-09-22 20:48:20 -04:00
2012-08-26 10:14:11 -07:00
2012-07-30 17:25:19 -07:00
2012-07-14 16:34:47 +04:00
2012-09-11 15:38:32 -04:00
2012-08-20 18:38:36 -04:00
2012-08-04 12:15:38 +04:00
2012-06-01 19:51:22 -07:00
2012-07-23 00:01:29 +04:00
2012-08-01 10:26:23 -07:00
2012-08-01 10:26:23 -07:00
2012-07-14 16:34:47 +04:00
2012-07-14 16:34:32 +04:00
2012-09-17 10:32:03 -07:00
2012-07-17 16:48:09 -07:00
2012-07-30 17:25:16 -07:00
2012-07-14 16:34:32 +04:00
2012-08-15 00:22:57 +02:00
2012-07-14 16:34:47 +04:00
2012-08-15 00:22:57 +02:00
2012-07-14 16:34:32 +04:00
2012-07-14 16:34:32 +04:00
2012-08-01 10:26:23 -07:00
2012-07-22 23:58:12 +04:00
2012-08-22 17:41:09 +03:00
2012-09-05 16:06:03 +02:00
2012-07-22 23:58:16 +04:00
2012-09-18 16:51:26 -05:00
2012-07-22 23:57:59 +04:00
2012-03-20 21:29:45 -04:00
2012-07-14 16:35:42 +04:00
2012-07-14 16:34:47 +04:00
2012-04-20 17:29:13 -07:00
2012-05-23 17:42:39 -07:00
2012-05-30 21:04:55 -04:00
2012-03-20 21:29:46 -04:00
2012-05-30 21:04:56 -04:00
2012-05-06 13:43:41 +08:00
2012-03-20 21:29:46 -04:00
2012-04-20 17:29:13 -07:00
2012-03-20 21:48:21 +08:00
2012-08-25 11:36:43 -07:00
2012-08-02 09:50:39 +02:00
2012-08-23 12:17:36 +02:00
2012-03-24 10:24:31 -07:00
2012-08-20 10:11:47 -07:00
2012-09-29 17:41:40 -07:00
2012-02-28 19:31:58 -05:00
2012-08-09 15:23:09 +02:00
2012-05-31 17:49:32 -07:00
2012-08-22 10:26:55 -04:00
2012-08-01 10:26:23 -07:00
2012-07-30 17:25:21 -07:00
2012-07-16 08:33:14 -07:00
2012-07-31 09:40:38 +04:00
2012-03-29 18:12:23 -07:00
2012-07-14 16:32:47 +04:00
2012-07-31 18:42:40 -07:00
2012-08-01 10:26:23 -07:00
2012-07-31 09:40:38 +04:00
2012-02-28 19:31:58 -05:00
2012-05-30 08:52:42 -07:00
2012-03-21 13:36:41 -07:00
2012-05-15 09:17:34 -04:00
2012-07-14 16:38:34 +04:00
2012-08-01 09:01:46 -07:00
2012-03-20 21:29:38 -04:00
2012-07-14 16:32:48 +04:00
2012-02-28 19:31:58 -05:00
2012-08-22 10:30:10 -04:00
2012-09-22 20:48:18 -04:00
2012-08-15 13:01:24 +02:00
2012-08-01 10:26:23 -07:00
2012-07-14 16:37:27 +04:00
2012-02-28 19:31:58 -05:00
2012-07-14 16:32:48 +04:00
2012-07-23 00:00:15 +04:00
2012-05-29 23:28:29 -04:00
2012-07-26 13:36:43 -07:00
2012-06-11 13:16:35 +01:00
2012-05-29 23:28:30 -04:00
2012-07-31 09:45:47 +04:00
2012-02-28 19:31:58 -05:00
2012-09-14 14:48:21 -07:00
2012-05-29 23:28:31 -04:00
2012-08-04 01:24:44 +04:00
2012-07-22 23:59:01 +04:00
2012-05-29 23:28:32 -04:00
2012-02-28 19:31:58 -05:00
2012-07-30 17:25:11 -07:00