summaryrefslogtreecommitdiff
path: root/fs/bcachefs/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/bcachefs/io.c')
-rw-r--r--fs/bcachefs/io.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c
index c309080c9de0..71eede585701 100644
--- a/fs/bcachefs/io.c
+++ b/fs/bcachefs/io.c
@@ -256,6 +256,14 @@ int bch2_extent_update(struct btree_trans *trans,
if (ret)
return ret;
+ /*
+ * caller may set op->new_i_size = 0 if they know this write won't be
+ * extending in order to avoid the inode lookup/update:
+ *
+ * XXX: in debug mode, verify that we're not extending whenever
+ * new_i_size = 0
+ */
+
new_i_size = extending
? min(k->k.p.offset << 9, new_i_size)
: 0;