|
@@ -1436,9 +1436,10 @@ out:
|
|
|
* the creation of the pending snapshots, just return 0.
|
|
|
*/
|
|
|
static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans,
|
|
|
- struct btrfs_fs_info *fs_info,
|
|
|
struct btrfs_pending_snapshot *pending)
|
|
|
{
|
|
|
+
|
|
|
+ struct btrfs_fs_info *fs_info = trans->fs_info;
|
|
|
struct btrfs_key key;
|
|
|
struct btrfs_root_item *new_root_item;
|
|
|
struct btrfs_root *tree_root = fs_info->tree_root;
|
|
@@ -1705,8 +1706,7 @@ no_free_objectid:
|
|
|
/*
|
|
|
* create all the snapshots we've scheduled for creation
|
|
|
*/
|
|
|
-static noinline int create_pending_snapshots(struct btrfs_trans_handle *trans,
|
|
|
- struct btrfs_fs_info *fs_info)
|
|
|
+static noinline int create_pending_snapshots(struct btrfs_trans_handle *trans)
|
|
|
{
|
|
|
struct btrfs_pending_snapshot *pending, *next;
|
|
|
struct list_head *head = &trans->transaction->pending_snapshots;
|
|
@@ -1714,7 +1714,7 @@ static noinline int create_pending_snapshots(struct btrfs_trans_handle *trans,
|
|
|
|
|
|
list_for_each_entry_safe(pending, next, head, list) {
|
|
|
list_del(&pending->list);
|
|
|
- ret = create_pending_snapshot(trans, fs_info, pending);
|
|
|
+ ret = create_pending_snapshot(trans, pending);
|
|
|
if (ret)
|
|
|
break;
|
|
|
}
|
|
@@ -2111,7 +2111,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
|
|
|
* deal with them in create_pending_snapshot(), which is the
|
|
|
* core function of the snapshot creation.
|
|
|
*/
|
|
|
- ret = create_pending_snapshots(trans, fs_info);
|
|
|
+ ret = create_pending_snapshots(trans);
|
|
|
if (ret) {
|
|
|
mutex_unlock(&fs_info->reloc_mutex);
|
|
|
goto scrub_continue;
|