diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2011-11-29 14:50:17 +0000 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2011-11-29 14:50:17 +0000 |
| commit | 98014be39bda8277a5ad130bb274ed6eb18b74df (patch) | |
| tree | 974620a47c9350ff9b3c06ffd2b49470bbda72ab /fs/btrfs/transaction.c | |
| parent | 55135dfbf3dd83cb3e98deed8271b62d188404e1 (diff) | |
| parent | 6e2a587eb99267367409097b70cb2d61b09e5269 (diff) | |
Merge branch 'defconfigs-for-arnd' of git://git.linaro.org/people/triad/linux-stericsson into fixes
Diffstat (limited to 'fs/btrfs/transaction.c')
| -rw-r--r-- | fs/btrfs/transaction.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 6a0574e923bc..81376d94cd3c 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -785,6 +785,10 @@ static noinline int commit_fs_roots(struct btrfs_trans_handle *trans, btrfs_save_ino_cache(root, trans); + /* see comments in should_cow_block() */ + root->force_cow = 0; + smp_wmb(); + if (root->commit_root != root->node) { mutex_lock(&root->fs_commit_mutex); switch_commit_root(root); @@ -947,6 +951,10 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, btrfs_tree_unlock(old); free_extent_buffer(old); + /* see comments in should_cow_block() */ + root->force_cow = 1; + smp_wmb(); + btrfs_set_root_node(new_root_item, tmp); /* record when the snapshot was created in key.offset */ key.offset = trans->transid; |
