diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/io.c | 8 |
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; |