|
@@ -482,8 +482,10 @@ static int create_snapshot(struct btrfs_root *root, struct dentry *dentry,
|
|
ret = btrfs_snap_reserve_metadata(trans, pending_snapshot);
|
|
ret = btrfs_snap_reserve_metadata(trans, pending_snapshot);
|
|
BUG_ON(ret);
|
|
BUG_ON(ret);
|
|
|
|
|
|
|
|
+ spin_lock(&root->fs_info->trans_lock);
|
|
list_add(&pending_snapshot->list,
|
|
list_add(&pending_snapshot->list,
|
|
&trans->transaction->pending_snapshots);
|
|
&trans->transaction->pending_snapshots);
|
|
|
|
+ spin_unlock(&root->fs_info->trans_lock);
|
|
if (async_transid) {
|
|
if (async_transid) {
|
|
*async_transid = trans->transid;
|
|
*async_transid = trans->transid;
|
|
ret = btrfs_commit_transaction_async(trans,
|
|
ret = btrfs_commit_transaction_async(trans,
|