Josef Bacik
ab9b2c7b32
btrfs: handle logged extent failure properly
...
If we're allocating a logged extent we attempt to insert an extent
record for the file extent directly. We increase
space_info->bytes_reserved, because the extent entry addition will call
btrfs_update_block_group(), which will convert the ->bytes_reserved to
->bytes_used. However if we fail at any point while inserting the
extent entry we will bail and leave space on ->bytes_reserved, which
will trigger a WARN_ON() on umount. Fix this by pinning the space if we
fail to insert, which is what happens in every other failure case that
involves adding the extent entry.
CC: stable@vger.kernel.org # 5.4+
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com >
Reviewed-by: Nikolay Borisov <nborisov@suse.com >
Reviewed-by: Qu Wenruo <wqu@suse.com >
Signed-off-by: Josef Bacik <josef@toxicpanda.com >
Reviewed-by: David Sterba <dsterba@suse.com >
Signed-off-by: David Sterba <dsterba@suse.com >
2020-03-23 17:01:38 +01:00
..
2020-03-23 17:01:33 +01:00
2019-04-29 19:02:44 +02:00
2019-11-18 12:46:52 +01:00
2019-11-18 12:46:52 +01:00
2020-03-23 17:01:33 +01:00
2019-07-01 13:34:53 +02:00
2020-03-23 17:01:38 +01:00
2020-01-23 17:24:34 +01:00
2020-03-23 17:01:26 +01:00
2019-07-02 12:30:55 +02:00
2020-03-23 17:01:24 +01:00
2020-01-20 16:40:52 +01:00
2018-04-12 16:29:46 +02:00
2020-01-31 10:30:40 -08:00
2019-11-18 12:46:59 +01:00
2020-03-23 17:01:33 +01:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:27 +01:00
2019-07-04 17:26:17 +02:00
2020-03-23 17:01:34 +01:00
2018-10-15 17:23:33 +02:00
2020-01-31 14:01:20 +01:00
2019-07-04 17:26:17 +02:00
2020-03-23 17:01:35 +01:00
2019-11-18 12:46:52 +01:00
2019-04-29 19:02:50 +02:00
2020-01-20 16:41:01 +01:00
2020-01-20 16:41:00 +01:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:33 +01:00
2020-03-23 17:01:33 +01:00
2018-04-12 16:29:46 +02:00
2020-03-23 17:01:35 +01:00
2020-03-23 17:01:35 +01:00
2020-02-12 17:16:46 +01:00
2019-11-18 23:43:44 +01:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:24 +01:00
2020-03-23 17:01:34 +01:00
2020-03-23 17:01:38 +01:00
2020-01-20 16:41:00 +01:00
2020-03-23 17:01:33 +01:00
2019-11-18 17:51:51 +01:00
2019-09-09 14:59:16 +02:00
2020-01-20 16:40:57 +01:00
2018-04-12 16:29:46 +02:00
2020-03-23 17:01:35 +01:00
2020-03-23 17:01:33 +01:00
2019-12-09 17:56:06 +01:00
2020-03-23 17:01:33 +01:00
2019-11-18 12:46:49 +01:00
2019-11-18 12:46:59 +01:00
2020-01-20 16:40:57 +01:00
2019-11-18 12:46:50 +01:00
2020-03-23 17:01:34 +01:00
2020-03-23 17:01:34 +01:00
2018-04-12 16:29:51 +02:00
2020-01-20 16:40:55 +01:00
2018-04-20 19:18:16 +02:00
2019-11-18 12:46:55 +01:00
2019-04-29 19:02:54 +02:00
2020-03-23 17:01:33 +01:00
2020-02-19 00:35:54 +01:00
2019-11-18 12:47:00 +01:00
2019-07-01 13:34:58 +02:00
2018-04-12 16:29:46 +02:00
2019-11-18 17:51:51 +01:00
2020-02-12 17:16:31 +01:00
2019-04-29 19:02:49 +02:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:33 +01:00
2020-03-23 17:01:33 +01:00
2020-03-23 17:01:33 +01:00
2018-04-12 16:29:46 +02:00
2020-03-23 17:01:27 +01:00
2020-01-31 14:02:01 +01:00
2019-09-09 14:59:16 +02:00
2020-03-23 17:01:34 +01:00
2020-03-23 17:01:36 +01:00
2020-03-23 17:01:35 +01:00
2020-03-23 17:01:38 +01:00
2020-03-23 17:01:38 +01:00
2020-01-20 16:40:56 +01:00
2019-04-29 19:02:39 +02:00
2019-02-25 14:13:27 +01:00
2020-03-23 17:01:37 +01:00
2019-04-29 19:02:41 +02:00
2018-04-12 16:29:51 +02:00
2018-04-12 16:29:46 +02:00
2019-12-13 14:10:45 +01:00
2020-03-23 17:01:35 +01:00
2020-02-16 11:43:45 -08:00
2019-06-17 16:37:17 +02:00
2019-04-29 19:02:44 +02:00
2020-01-31 10:30:40 -08:00
2019-11-18 12:46:59 +01:00