Lines Matching full:trans

23 int bch2_extent_fallocate(struct btree_trans *trans,  in bch2_extent_fallocate()  argument
31 struct bch_fs *c = trans->c; in bch2_extent_fallocate()
85 ret = bch2_alloc_sectors_start_trans(trans, in bch2_extent_fallocate()
111 ret = bch2_extent_update(trans, inum, iter, new.k, &disk_res, in bch2_extent_fallocate()
118 bch2_inum_offset_err_msg_trans(trans, &buf, inum, iter->pos.offset << 9); in bch2_extent_fallocate()
130 bch2_trans_unlock_long(trans); in bch2_extent_fallocate()
140 int bch2_fpunch_at(struct btree_trans *trans, struct btree_iter *iter, in bch2_fpunch_at() argument
144 struct bch_fs *c = trans->c; in bch2_fpunch_at()
160 bch2_trans_begin(trans); in bch2_fpunch_at()
162 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_fpunch_at()
186 ret = bch2_extent_update(trans, inum, iter, &delete, in bch2_fpunch_at()
197 struct btree_trans *trans = bch2_trans_get(c); in bch2_fpunch() local
201 bch2_trans_iter_init(trans, &iter, BTREE_ID_extents, in bch2_fpunch()
205 ret = bch2_fpunch_at(trans, &iter, inum, end, i_sectors_delta); in bch2_fpunch()
207 bch2_trans_iter_exit(trans, &iter); in bch2_fpunch()
208 bch2_trans_put(trans); in bch2_fpunch()
227 static int truncate_set_isize(struct btree_trans *trans, in truncate_set_isize() argument
236 ret = __bch2_inode_peek(trans, &iter, &inode_u, inum, BTREE_ITER_intent, warn) ?: in truncate_set_isize()
238 bch2_inode_write(trans, &iter, &inode_u); in truncate_set_isize()
240 bch2_trans_iter_exit(trans, &iter); in truncate_set_isize()
244 static int __bch2_resume_logged_op_truncate(struct btree_trans *trans, in __bch2_resume_logged_op_truncate() argument
248 struct bch_fs *c = trans->c; in __bch2_resume_logged_op_truncate()
256 ret = commit_do(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc, in __bch2_resume_logged_op_truncate()
257 truncate_set_isize(trans, inum, new_i_size, i_sectors_delta != NULL)); in __bch2_resume_logged_op_truncate()
261 bch2_trans_iter_init(trans, &fpunch_iter, BTREE_ID_extents, in __bch2_resume_logged_op_truncate()
264 ret = bch2_fpunch_at(trans, &fpunch_iter, inum, U64_MAX, i_sectors_delta); in __bch2_resume_logged_op_truncate()
265 bch2_trans_iter_exit(trans, &fpunch_iter); in __bch2_resume_logged_op_truncate()
275 int bch2_resume_logged_op_truncate(struct btree_trans *trans, struct bkey_i *op_k) in bch2_resume_logged_op_truncate() argument
277 return __bch2_resume_logged_op_truncate(trans, op_k, NULL); in bch2_resume_logged_op_truncate()
295 struct btree_trans *trans = bch2_trans_get(c); in bch2_truncate() local
296 int ret = bch2_logged_op_start(trans, &op.k_i); in bch2_truncate()
299 ret = __bch2_resume_logged_op_truncate(trans, &op.k_i, i_sectors_delta); in bch2_truncate()
300 ret = bch2_logged_op_finish(trans, &op.k_i) ?: ret; in bch2_truncate()
302 bch2_trans_put(trans); in bch2_truncate()
320 static int adjust_i_size(struct btree_trans *trans, subvol_inum inum, in adjust_i_size() argument
330 ret = __bch2_inode_peek(trans, &iter, &inode_u, inum, BTREE_ITER_intent, warn); in adjust_i_size()
347 inode_u.bi_mtime = inode_u.bi_ctime = bch2_current_time(trans->c); in adjust_i_size()
349 ret = bch2_inode_write(trans, &iter, &inode_u); in adjust_i_size()
351 bch2_trans_iter_exit(trans, &iter); in adjust_i_size()
355 static int __bch2_resume_logged_op_finsert(struct btree_trans *trans, in __bch2_resume_logged_op_finsert() argument
359 struct bch_fs *c = trans->c; in __bch2_resume_logged_op_finsert()
374 ret = bch2_inum_opts_get(trans, inum, &opts); in __bch2_resume_logged_op_finsert()
382 …ret = lockrestart_do(trans, __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, warn_erro… in __bch2_resume_logged_op_finsert()
386 bch2_trans_iter_init(trans, &iter, BTREE_ID_extents, in __bch2_resume_logged_op_finsert()
395 ret = commit_do(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc, in __bch2_resume_logged_op_finsert()
396 adjust_i_size(trans, inum, src_offset, len, warn_errors) ?: in __bch2_resume_logged_op_finsert()
397 bch2_logged_op_update(trans, &op->k_i)); in __bch2_resume_logged_op_finsert()
403 ret = bch2_fpunch_at(trans, &iter, inum, src_offset + len, i_sectors_delta); in __bch2_resume_logged_op_finsert()
407 ret = commit_do(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc, in __bch2_resume_logged_op_finsert()
408 bch2_logged_op_update(trans, &op->k_i)); in __bch2_resume_logged_op_finsert()
420 bch2_trans_begin(trans); in __bch2_resume_logged_op_finsert()
422 ret = __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, in __bch2_resume_logged_op_finsert()
441 copy = bch2_bkey_make_mut_noupdate(trans, k); in __bch2_resume_logged_op_finsert()
467 bch2_btree_insert_trans(trans, BTREE_ID_extents, &delete, 0) ?: in __bch2_resume_logged_op_finsert()
468 bch2_btree_insert_trans(trans, BTREE_ID_extents, copy, 0) ?: in __bch2_resume_logged_op_finsert()
469 bch2_logged_op_update(trans, &op->k_i) ?: in __bch2_resume_logged_op_finsert()
470 bch2_trans_commit(trans, &disk_res, NULL, BCH_TRANS_COMMIT_no_enospc); in __bch2_resume_logged_op_finsert()
485 ret = commit_do(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc, in __bch2_resume_logged_op_finsert()
486 adjust_i_size(trans, inum, src_offset, shift, warn_errors) ?: in __bch2_resume_logged_op_finsert()
487 bch2_logged_op_update(trans, &op->k_i)); in __bch2_resume_logged_op_finsert()
490 ret = commit_do(trans, NULL, NULL, BCH_TRANS_COMMIT_no_enospc, in __bch2_resume_logged_op_finsert()
491 adjust_i_size(trans, inum, 0, 0, warn_errors) ?: in __bch2_resume_logged_op_finsert()
492 bch2_logged_op_update(trans, &op->k_i)); in __bch2_resume_logged_op_finsert()
500 bch2_trans_iter_exit(trans, &iter); in __bch2_resume_logged_op_finsert()
506 int bch2_resume_logged_op_finsert(struct btree_trans *trans, struct bkey_i *op_k) in bch2_resume_logged_op_finsert() argument
508 return __bch2_resume_logged_op_finsert(trans, op_k, NULL); in bch2_resume_logged_op_finsert()
531 struct btree_trans *trans = bch2_trans_get(c); in bch2_fcollapse_finsert() local
532 int ret = bch2_logged_op_start(trans, &op.k_i); in bch2_fcollapse_finsert()
535 ret = __bch2_resume_logged_op_finsert(trans, &op.k_i, i_sectors_delta); in bch2_fcollapse_finsert()
536 ret = bch2_logged_op_finish(trans, &op.k_i) ?: ret; in bch2_fcollapse_finsert()
538 bch2_trans_put(trans); in bch2_fcollapse_finsert()