summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-06-02 23:31:42 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2021-06-03 18:48:42 -0400
commit2ed27743b67db38897f4286f142dbd1f5013c72a (patch)
tree6b548a5cbf3fd5e703ee87ca142b068f239bbffb
parentea3d0138013bff3019021614ed1a50cde2d5a83f (diff)
bcachefs: Preallocate transaction mem
This helps avoid transaction restarts. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/fs-io.c4
-rw-r--r--fs/bcachefs/fs.c2
-rw-r--r--fs/bcachefs/inode.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c
index dc7916c8b610..ef28995525c0 100644
--- a/fs/bcachefs/fs-io.c
+++ b/fs/bcachefs/fs-io.c
@@ -2532,7 +2532,7 @@ static long bchfs_fcollapse_finsert(struct bch_inode_info *inode,
}
bch2_bkey_buf_init(&copy);
- bch2_trans_init(&trans, c, BTREE_ITER_MAX, 256);
+ bch2_trans_init(&trans, c, BTREE_ITER_MAX, 1024);
src = bch2_trans_get_iter(&trans, BTREE_ID_extents,
POS(inode->v.i_ino, src_start >> 9),
BTREE_ITER_INTENT);
@@ -2652,7 +2652,7 @@ static int __bchfs_fallocate(struct bch_inode_info *inode, int mode,
unsigned replicas = io_opts(c, &inode->ei_inode).data_replicas;
int ret = 0;
- bch2_trans_init(&trans, c, BTREE_ITER_MAX, 0);
+ bch2_trans_init(&trans, c, BTREE_ITER_MAX, 512);
iter = bch2_trans_get_iter(&trans, BTREE_ID_extents,
POS(inode->v.i_ino, start_sector),
diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
index e8a329c9561f..c567e1769472 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -144,7 +144,7 @@ int __must_check bch2_write_inode(struct bch_fs *c,
struct bch_inode_unpacked inode_u;
int ret;
- bch2_trans_init(&trans, c, 0, 256);
+ bch2_trans_init(&trans, c, 0, 512);
retry:
bch2_trans_begin(&trans);
diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c
index f77b57490341..17d8eb5223cd 100644
--- a/fs/bcachefs/inode.c
+++ b/fs/bcachefs/inode.c
@@ -579,7 +579,7 @@ int bch2_inode_rm(struct bch_fs *c, u64 inode_nr, bool cached)
struct bkey_s_c k;
int ret;
- bch2_trans_init(&trans, c, 0, 0);
+ bch2_trans_init(&trans, c, 0, 1024);
/*
* If this was a directory, there shouldn't be any real dirents left -