for-5.7-rc1-tag
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAl6ZrWEACgkQxWXV+ddt WDsQohAAhcAaSc/QoJ5g+vI/x5YQbo6KzAVyKbUbJdFlUIzh5uVBjJmpy4IQehcG QQGoqj5mAO9DaWHH5wGoR9xBRKNDjc5Sh86IjaKrPNNyDoDWMuUKs5bqZojtY819 4zZyZaKUGQ8HD0BwKEMCMM30BWyXjj7MkngJtzO5/qj43cwSyIORDk8a4DDLwImr FPdArpdUshRlt5aEwosTV4X/zRQ5kfQF8vOYd0TopfXAvKF3g6PZ7YmrHzfmVQGK hdmqfsKY3gMhcNwi7nCTfaHN6qRd/9Bec+Z3ZVtZPsEoIPMZOyqgw8yU9NRjMj4O GhmsLA9onbEYYrSAaGP/O7nEYr2M3MS0vJ0KnOobpOJaSMPZFUOfouac7u8l9ZZU KQ5aSJo2mx9E6/VSesoP19TafKHJYx79J8M71tStVrXFCtT6yLkWzvsxj4gNacJc 2HFNEN/8zvDuWCy9s0JZnSQZ+nv01EuCjZ60IoMuS51lh9EcZORu6kKX33pp7UJS WOANssZvunc1AaW0HxT0GME4V0RJa8yoKRFIhV2bLZFGGo2dwvom+v2/1kJy+fW/ LyfEA9973lyWuhqedB08r+dTIgEN5MEOwetsxQua2iC/P8VnpmU7rfmBk/LlTg7j dN+O39+Ms6edsk+K3pxSedRU79XgdJ3muA6fNPmILUJBczQriKU= =s26U -----END PGP SIGNATURE----- Merge tag 'for-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux Pull btrfs fix from David Sterba: "A regression fix for a warning caused by running balance and snapshot creation in parallel" * tag 'for-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: fix setting last_trans for reloc roots
This commit is contained in:
commit
c5304dd59b
|
@ -1527,8 +1527,7 @@ int btrfs_init_reloc_root(struct btrfs_trans_handle *trans,
|
|||
int clear_rsv = 0;
|
||||
int ret;
|
||||
|
||||
if (!rc || !rc->create_reloc_tree ||
|
||||
root->root_key.objectid == BTRFS_TREE_RELOC_OBJECTID)
|
||||
if (!rc)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
|
@ -1538,12 +1537,28 @@ int btrfs_init_reloc_root(struct btrfs_trans_handle *trans,
|
|||
if (reloc_root_is_dead(root))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* This is subtle but important. We do not do
|
||||
* record_root_in_transaction for reloc roots, instead we record their
|
||||
* corresponding fs root, and then here we update the last trans for the
|
||||
* reloc root. This means that we have to do this for the entire life
|
||||
* of the reloc root, regardless of which stage of the relocation we are
|
||||
* in.
|
||||
*/
|
||||
if (root->reloc_root) {
|
||||
reloc_root = root->reloc_root;
|
||||
reloc_root->last_trans = trans->transid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* We are merging reloc roots, we do not need new reloc trees. Also
|
||||
* reloc trees never need their own reloc tree.
|
||||
*/
|
||||
if (!rc->create_reloc_tree ||
|
||||
root->root_key.objectid == BTRFS_TREE_RELOC_OBJECTID)
|
||||
return 0;
|
||||
|
||||
if (!trans->reloc_reserved) {
|
||||
rsv = trans->block_rsv;
|
||||
trans->block_rsv = rc->block_rsv;
|
||||
|
|
Loading…
Reference in New Issue