Lines Matching defs:cur_trans

176 	struct btrfs_transaction *cur_trans = trans->transaction;
184 ASSERT(cur_trans->state == TRANS_STATE_COMMIT_DOING);
191 list_for_each_entry_safe(root, tmp, &cur_trans->switch_commits,
201 spin_lock(&cur_trans->dropped_roots_lock);
202 while (!list_empty(&cur_trans->dropped_roots)) {
203 root = list_first_entry(&cur_trans->dropped_roots,
206 spin_unlock(&cur_trans->dropped_roots_lock);
209 spin_lock(&cur_trans->dropped_roots_lock);
211 spin_unlock(&cur_trans->dropped_roots_lock);
266 struct btrfs_transaction *cur_trans;
276 cur_trans = fs_info->running_transaction;
277 if (cur_trans) {
278 if (TRANS_ABORTED(cur_trans)) {
280 return cur_trans->aborted;
282 if (btrfs_blocked_trans_types[cur_trans->state] & type) {
286 refcount_inc(&cur_trans->use_count);
287 atomic_inc(&cur_trans->num_writers);
288 extwriter_counter_inc(cur_trans, type);
310 cur_trans = kmalloc(sizeof(*cur_trans), GFP_NOFS);
311 if (!cur_trans)
325 kfree(cur_trans);
331 kfree(cur_trans);
335 cur_trans->fs_info = fs_info;
336 atomic_set(&cur_trans->pending_ordered, 0);
337 init_waitqueue_head(&cur_trans->pending_wait);
338 atomic_set(&cur_trans->num_writers, 1);
339 extwriter_counter_init(cur_trans, type);
340 init_waitqueue_head(&cur_trans->writer_wait);
341 init_waitqueue_head(&cur_trans->commit_wait);
342 cur_trans->state = TRANS_STATE_RUNNING;
347 refcount_set(&cur_trans->use_count, 2);
348 cur_trans->flags = 0;
349 cur_trans->start_time = ktime_get_seconds();
351 memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
353 cur_trans->delayed_refs.href_root = RB_ROOT_CACHED;
354 cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
355 atomic_set(&cur_trans->delayed_refs.num_entries, 0);
368 spin_lock_init(&cur_trans->delayed_refs.lock);
370 INIT_LIST_HEAD(&cur_trans->pending_snapshots);
371 INIT_LIST_HEAD(&cur_trans->dev_update_list);
372 INIT_LIST_HEAD(&cur_trans->switch_commits);
373 INIT_LIST_HEAD(&cur_trans->dirty_bgs);
374 INIT_LIST_HEAD(&cur_trans->io_bgs);
375 INIT_LIST_HEAD(&cur_trans->dropped_roots);
376 mutex_init(&cur_trans->cache_write_mutex);
377 spin_lock_init(&cur_trans->dirty_bgs_lock);
378 INIT_LIST_HEAD(&cur_trans->deleted_bgs);
379 spin_lock_init(&cur_trans->dropped_roots_lock);
380 list_add_tail(&cur_trans->list, &fs_info->trans_list);
381 extent_io_tree_init(fs_info, &cur_trans->dirty_pages,
383 extent_io_tree_init(fs_info, &cur_trans->pinned_extents,
386 cur_trans->transid = fs_info->generation;
387 fs_info->running_transaction = cur_trans;
388 cur_trans->aborted = 0;
465 struct btrfs_transaction *cur_trans = trans->transaction;
468 spin_lock(&cur_trans->dropped_roots_lock);
469 list_add_tail(&root->root_list, &cur_trans->dropped_roots);
470 spin_unlock(&cur_trans->dropped_roots_lock);
518 struct btrfs_transaction *cur_trans;
521 cur_trans = fs_info->running_transaction;
522 if (cur_trans && is_transaction_blocked(cur_trans)) {
523 refcount_inc(&cur_trans->use_count);
528 cur_trans->state >= TRANS_STATE_UNBLOCKED ||
529 TRANS_ABORTED(cur_trans));
530 btrfs_put_transaction(cur_trans);
598 struct btrfs_transaction *cur_trans;
712 cur_trans = fs_info->running_transaction;
714 h->transid = cur_trans->transid;
715 h->transaction = cur_trans;
724 if (cur_trans->state >= TRANS_STATE_COMMIT_START &&
940 struct btrfs_transaction *cur_trans = NULL, *t;
951 cur_trans = t;
952 refcount_inc(&cur_trans->use_count);
967 if (!cur_trans) {
980 cur_trans = t;
981 refcount_inc(&cur_trans->use_count);
986 if (!cur_trans)
990 wait_for_commit(cur_trans, TRANS_STATE_COMPLETED);
991 ret = cur_trans->aborted;
992 btrfs_put_transaction(cur_trans);
1004 struct btrfs_transaction *cur_trans = trans->transaction;
1006 if (cur_trans->state >= TRANS_STATE_COMMIT_START ||
1007 test_bit(BTRFS_DELAYED_REFS_FLUSHING, &cur_trans->delayed_refs.flags))
1054 struct btrfs_transaction *cur_trans = trans->transaction;
1073 WARN_ON(cur_trans != info->running_transaction);
1074 WARN_ON(atomic_read(&cur_trans->num_writers) < 1);
1075 atomic_dec(&cur_trans->num_writers);
1076 extwriter_counter_dec(cur_trans, trans->type);
1078 cond_wake_up(&cur_trans->writer_wait);
1083 btrfs_put_transaction(cur_trans);
1975 struct btrfs_transaction *cur_trans;
1982 cur_trans = trans->transaction;
1983 refcount_inc(&cur_trans->use_count);
1993 cur_trans->state >= TRANS_STATE_COMMIT_START ||
1994 TRANS_ABORTED(cur_trans));
1995 btrfs_put_transaction(cur_trans);
2001 struct btrfs_transaction *cur_trans = trans->transaction;
2014 BUG_ON(list_empty(&cur_trans->list));
2016 if (cur_trans == fs_info->running_transaction) {
2017 cur_trans->state = TRANS_STATE_COMMIT_DOING;
2025 wait_event(cur_trans->writer_wait,
2026 atomic_read(&cur_trans->num_writers) == 1);
2039 list_del_init(&cur_trans->list);
2046 if (cur_trans == fs_info->running_transaction)
2052 btrfs_put_transaction(cur_trans);
2053 btrfs_put_transaction(cur_trans);
2132 struct btrfs_transaction *cur_trans = trans->transaction;
2138 ASSERT(cur_trans->state >= TRANS_STATE_COMMIT_PREP);
2140 list_add(&trans->pending_snapshot->list, &cur_trans->pending_snapshots);
2155 struct btrfs_transaction *cur_trans = trans->transaction;
2167 if (TRANS_ABORTED(cur_trans)) {
2168 ret = cur_trans->aborted;
2180 &cur_trans->delayed_refs.flags)) {
2192 if (!test_bit(BTRFS_TRANS_DIRTY_BG_RUN, &cur_trans->flags)) {
2210 &cur_trans->flags))
2222 if (cur_trans->state >= TRANS_STATE_COMMIT_PREP) {
2228 refcount_inc(&cur_trans->use_count);
2236 wait_for_commit(cur_trans, want_state);
2238 if (TRANS_ABORTED(cur_trans))
2239 ret = cur_trans->aborted;
2241 btrfs_put_transaction(cur_trans);
2246 cur_trans->state = TRANS_STATE_COMMIT_PREP;
2250 if (cur_trans->list.prev != &fs_info->trans_list) {
2256 prev_trans = list_entry(cur_trans->list.prev,
2285 cur_trans->state = TRANS_STATE_COMMIT_START;
2295 extwriter_counter_dec(cur_trans, trans->type);
2312 wait_event(cur_trans->writer_wait,
2313 extwriter_counter_read(cur_trans) == 0);
2330 wait_event(cur_trans->pending_wait,
2331 atomic_read(&cur_trans->pending_ordered) == 0);
2341 cur_trans->state = TRANS_STATE_COMMIT_DOING;
2351 wait_event(cur_trans->writer_wait,
2352 atomic_read(&cur_trans->num_writers) == 1);
2371 if (TRANS_ABORTED(cur_trans)) {
2372 ret = cur_trans->aborted;
2416 WARN_ON(cur_trans != trans->transaction);
2443 if (TRANS_ABORTED(cur_trans)) {
2444 ret = cur_trans->aborted;
2448 cur_trans = fs_info->running_transaction;
2453 &cur_trans->switch_commits);
2458 &cur_trans->switch_commits);
2464 &cur_trans->switch_commits);
2469 ASSERT(list_empty(&cur_trans->dirty_bgs));
2470 ASSERT(list_empty(&cur_trans->io_bgs));
2478 btrfs_commit_device_sizes(cur_trans);
2496 cur_trans->state = TRANS_STATE_UNBLOCKED;
2530 cur_trans->state = TRANS_STATE_SUPER_COMMITTED;
2531 wake_up(&cur_trans->commit_wait);
2536 if (test_bit(BTRFS_TRANS_HAVE_FREE_BGS, &cur_trans->flags))
2539 btrfs_set_last_trans_committed(fs_info, cur_trans->transid);
2544 cur_trans->state = TRANS_STATE_COMPLETED;
2545 wake_up(&cur_trans->commit_wait);
2549 list_del_init(&cur_trans->list);
2552 btrfs_put_transaction(cur_trans);
2553 btrfs_put_transaction(cur_trans);