summaryrefslogtreecommitdiff
path: root/libbcachefs/reflink.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/reflink.c')
-rw-r--r--libbcachefs/reflink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libbcachefs/reflink.c b/libbcachefs/reflink.c
index 6d45ae24..6e71c5e8 100644
--- a/libbcachefs/reflink.c
+++ b/libbcachefs/reflink.c
@@ -290,10 +290,12 @@ err:
ret2 = PTR_ERR_OR_ZERO(inode_iter);
if (!ret2 &&
- inode_u.bi_size < new_i_size)
+ inode_u.bi_size < new_i_size) {
+ inode_u.bi_size = new_i_size;
ret2 = bch2_inode_write(&trans, inode_iter, &inode_u) ?:
bch2_trans_commit(&trans, NULL, journal_seq,
BTREE_INSERT_ATOMIC);
+ }
} while (ret2 == -EINTR);
ret = bch2_trans_exit(&trans) ?: ret;