|
@@ -1554,6 +1554,7 @@ noinline int btrfs_cow_block(struct btrfs_trans_handle *trans,
|
|
trans->transid, root->fs_info->generation);
|
|
trans->transid, root->fs_info->generation);
|
|
|
|
|
|
if (!should_cow_block(trans, root, buf)) {
|
|
if (!should_cow_block(trans, root, buf)) {
|
|
|
|
+ trans->dirty = true;
|
|
*cow_ret = buf;
|
|
*cow_ret = buf;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -2777,8 +2778,10 @@ again:
|
|
* then we don't want to set the path blocking,
|
|
* then we don't want to set the path blocking,
|
|
* so we test it here
|
|
* so we test it here
|
|
*/
|
|
*/
|
|
- if (!should_cow_block(trans, root, b))
|
|
|
|
|
|
+ if (!should_cow_block(trans, root, b)) {
|
|
|
|
+ trans->dirty = true;
|
|
goto cow_done;
|
|
goto cow_done;
|
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
/*
|
|
* must have write locks on this node and the
|
|
* must have write locks on this node and the
|