Filipe Manana
2f1f465ae6
Btrfs: send, don't leave without decrementing clone root's send_progress
...
If the clone root was not readonly or the dead flag was set on it, we were
leaving without decrementing the root's send_progress counter (and before
we just incremented it). If a concurrent snapshot deletion was in progress
and ended up being aborted, it would be impossible to later attempt to
delete again the snapshot, since the root's send_in_progress counter could
never go back to 0.
We were also setting clone_sources_to_rollback to i + 1 too early - if we
bailed out because the clone root we got is not readonly or flagged as dead
we ended up later derreferencing a null pointer because we didn't assign
the clone root to sctx->clone_roots[i].root:
for (i = 0; sctx && i < clone_sources_to_rollback; i++)
btrfs_root_dec_send_in_progress(
sctx->clone_roots[i].root);
So just don't increment the send_in_progress counter if the root is readonly
or flagged as dead.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2015-03-26 17:55:51 -07:00
..
2015-02-22 11:38:41 -05:00
2015-02-17 14:34:53 -08:00
2015-02-12 13:50:21 -08:00
2015-02-22 11:43:34 -05:00
2015-02-17 14:34:50 -08:00
2015-03-26 17:55:51 -07:00
2015-02-22 11:38:41 -05:00
2015-02-22 17:42:14 -08:00
2015-02-16 14:32:03 -05:00
2015-02-22 11:38:41 -05:00
2015-02-20 04:56:43 -05:00
2015-02-22 11:38:43 -05:00
2015-01-18 01:03:45 -05:00
2015-03-03 02:03:56 -06:00
2015-01-29 19:16:40 +01:00
2015-02-16 17:56:03 -08:00
2015-02-22 11:38:41 -05:00
2015-02-16 17:56:04 -08:00
2015-01-05 11:13:55 +01:00
2015-02-22 18:05:13 -08:00
2015-02-12 19:28:50 -08:00
2015-02-17 14:34:51 -08:00
2014-10-13 17:52:21 +01:00
2015-03-19 15:29:22 +01:00
2015-02-22 11:38:41 -05:00
2014-12-10 17:41:16 -08:00
2015-02-22 11:38:41 -05:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2015-01-07 09:51:49 +01:00
2014-11-18 10:15:29 +01:00
2015-01-19 15:59:58 -05:00
2015-02-22 17:42:14 -08:00
2015-02-17 16:12:34 -08:00
2015-03-16 21:51:20 +01:00
2015-02-12 10:39:41 -08:00
2015-02-17 14:56:45 -08:00
2015-03-03 21:52:30 -05:00
2014-09-17 16:33:11 -04:00
2015-03-19 15:49:27 -04:00
2015-03-12 18:46:08 -07:00
2015-03-12 18:46:08 -07:00
2015-01-20 14:03:04 -07:00
2015-03-12 18:46:07 -07:00
2014-10-14 02:18:22 +02:00
2015-03-18 10:29:48 +01:00
2015-03-17 09:31:30 -07:00
2015-01-16 16:01:29 -08:00
2015-02-10 15:52:38 -08:00
2015-01-20 14:03:05 -07:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2014-11-27 18:48:44 +00:00
2015-02-15 11:11:47 -08:00
2015-02-15 10:11:39 -08:00
2015-02-05 16:34:25 +01:00
2015-02-17 14:34:51 -08:00
2015-02-24 10:15:18 +11:00
2015-02-20 04:56:44 -05:00
2015-02-20 04:03:58 -05:00
2014-11-19 13:01:20 -05:00
2014-10-09 02:39:00 -04:00
2015-02-19 12:21:36 +01:00
2014-12-13 12:42:51 -08:00
2014-12-17 08:27:14 -05:00
2014-12-13 12:42:51 -08:00
2015-02-12 14:13:23 -08:00
2014-10-21 13:55:11 -06:00
2015-01-20 14:02:58 -07:00
2014-10-31 17:48:54 -04:00
2015-02-20 04:56:44 -05:00
2015-02-16 17:56:04 -08:00
2015-02-22 11:38:38 -05:00
2014-09-26 21:16:51 -04:00
2015-02-12 18:54:09 -08:00
2015-02-17 14:34:52 -08:00
2015-02-13 21:21:40 -08:00
2015-01-23 00:22:20 -05:00
2015-01-08 15:10:52 -08:00
2014-10-13 11:28:42 +02:00
2014-12-10 17:41:10 -08:00
2015-01-25 23:17:29 -05:00
2015-02-22 11:38:42 -05:00
2015-02-17 16:12:34 -08:00
2015-02-22 11:38:42 -05:00
2015-02-10 14:30:30 -08:00
2015-02-16 17:56:04 -08:00
2015-02-17 16:29:36 +01:00
2015-02-22 11:38:41 -05:00
2015-03-14 09:45:35 -04:00
2015-02-17 14:25:58 -08:00
2015-01-25 23:17:29 -05:00
2014-10-09 22:25:53 -04:00
2015-02-22 11:38:41 -05:00
2015-02-22 11:38:41 -05:00
2014-12-10 21:30:20 -05:00
2015-02-17 15:27:47 -08:00
2014-12-02 10:46:50 -06:00
2015-02-22 11:38:41 -05:00
2015-02-05 02:45:00 -05:00
2015-02-17 15:48:33 -08:00
2014-10-31 17:48:54 -04:00
2015-02-12 18:54:12 -08:00
2015-02-13 21:21:39 -08:00
2014-11-05 14:13:23 -05:00
2015-01-29 00:13:13 -05:00
2015-02-22 11:38:42 -05:00
2015-02-05 02:45:00 -05:00
2014-11-05 14:13:23 -05:00
2014-11-19 13:01:26 -05:00