From: Kent Overstreet Date: Thu, 3 Jun 2021 03:31:42 +0000 (-0400) Subject: bcachefs: Preallocate transaction mem X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f7beb4ca04521f26d9ac2e9bee1bfbf99c55fabb;p=linux.git bcachefs: Preallocate transaction mem This helps avoid transaction restarts. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index 08746a6cbc31a..132ff0497b399 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -2531,7 +2531,7 @@ static long bchfs_fcollapse_finsert(struct bch_inode_info *inode, } bch2_bkey_buf_init(©); - 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); @@ -2651,7 +2651,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 b1b7ee722f2ca..99885fb97aa2a 100644 --- a/fs/bcachefs/fs.c +++ b/fs/bcachefs/fs.c @@ -146,7 +146,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 18b5688871445..c65bfee1897ec 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 -