Lines Matching refs:cur_trans

178 	struct btrfs_transaction *cur_trans = trans->transaction;
186 ASSERT(cur_trans->state == TRANS_STATE_COMMIT_DOING);
193 list_for_each_entry_safe(root, tmp, &cur_trans->switch_commits,
203 spin_lock(&cur_trans->dropped_roots_lock);
204 while (!list_empty(&cur_trans->dropped_roots)) {
205 root = list_first_entry(&cur_trans->dropped_roots,
208 spin_unlock(&cur_trans->dropped_roots_lock);
211 spin_lock(&cur_trans->dropped_roots_lock);
213 spin_unlock(&cur_trans->dropped_roots_lock);
268 struct btrfs_transaction *cur_trans;
278 cur_trans = fs_info->running_transaction;
279 if (cur_trans) {
280 if (TRANS_ABORTED(cur_trans)) {
282 return cur_trans->aborted;
284 if (btrfs_blocked_trans_types[cur_trans->state] & type) {
288 refcount_inc(&cur_trans->use_count);
289 atomic_inc(&cur_trans->num_writers);
290 extwriter_counter_inc(cur_trans, type);
312 cur_trans = kmalloc(sizeof(*cur_trans), GFP_NOFS);
313 if (!cur_trans)
327 kfree(cur_trans);
333 kfree(cur_trans);
337 cur_trans->fs_info = fs_info;
338 atomic_set(&cur_trans->pending_ordered, 0);
339 init_waitqueue_head(&cur_trans->pending_wait);
340 atomic_set(&cur_trans->num_writers, 1);
341 extwriter_counter_init(cur_trans, type);
342 init_waitqueue_head(&cur_trans->writer_wait);
343 init_waitqueue_head(&cur_trans->commit_wait);
344 cur_trans->state = TRANS_STATE_RUNNING;
349 refcount_set(&cur_trans->use_count, 2);
350 cur_trans->flags = 0;
351 cur_trans->start_time = ktime_get_seconds();
353 memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
355 cur_trans->delayed_refs.href_root = RB_ROOT_CACHED;
356 cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
357 atomic_set(&cur_trans->delayed_refs.num_entries, 0);
370 spin_lock_init(&cur_trans->delayed_refs.lock);
372 INIT_LIST_HEAD(&cur_trans->pending_snapshots);
373 INIT_LIST_HEAD(&cur_trans->dev_update_list);
374 INIT_LIST_HEAD(&cur_trans->switch_commits);
375 INIT_LIST_HEAD(&cur_trans->dirty_bgs);
376 INIT_LIST_HEAD(&cur_trans->io_bgs);
377 INIT_LIST_HEAD(&cur_trans->dropped_roots);
378 mutex_init(&cur_trans->cache_write_mutex);
379 spin_lock_init(&cur_trans->dirty_bgs_lock);
380 INIT_LIST_HEAD(&cur_trans->deleted_bgs);
381 spin_lock_init(&cur_trans->dropped_roots_lock);
382 list_add_tail(&cur_trans->list, &fs_info->trans_list);
383 extent_io_tree_init(fs_info, &cur_trans->dirty_pages,
385 extent_io_tree_init(fs_info, &cur_trans->pinned_extents,
388 cur_trans->transid = fs_info->generation;
389 fs_info->running_transaction = cur_trans;
390 cur_trans->aborted = 0;
467 struct btrfs_transaction *cur_trans = trans->transaction;
470 spin_lock(&cur_trans->dropped_roots_lock);
471 list_add_tail(&root->root_list, &cur_trans->dropped_roots);
472 spin_unlock(&cur_trans->dropped_roots_lock);
520 struct btrfs_transaction *cur_trans;
523 cur_trans = fs_info->running_transaction;
524 if (cur_trans && is_transaction_blocked(cur_trans)) {
525 refcount_inc(&cur_trans->use_count);
530 cur_trans->state >= TRANS_STATE_UNBLOCKED ||
531 TRANS_ABORTED(cur_trans));
532 btrfs_put_transaction(cur_trans);
570 struct btrfs_transaction *cur_trans;
692 cur_trans = fs_info->running_transaction;
694 h->transid = cur_trans->transid;
695 h->transaction = cur_trans;
703 if (cur_trans->state >= TRANS_STATE_COMMIT_START &&
909 struct btrfs_transaction *cur_trans = NULL, *t;
920 cur_trans = t;
921 refcount_inc(&cur_trans->use_count);
936 if (!cur_trans) {
949 cur_trans = t;
950 refcount_inc(&cur_trans->use_count);
955 if (!cur_trans)
959 wait_for_commit(cur_trans, TRANS_STATE_COMPLETED);
960 ret = cur_trans->aborted;
961 btrfs_put_transaction(cur_trans);
973 struct btrfs_transaction *cur_trans = trans->transaction;
975 if (cur_trans->state >= TRANS_STATE_COMMIT_START ||
976 test_bit(BTRFS_DELAYED_REFS_FLUSHING, &cur_trans->delayed_refs.flags))
1010 struct btrfs_transaction *cur_trans = trans->transaction;
1029 WARN_ON(cur_trans != info->running_transaction);
1030 WARN_ON(atomic_read(&cur_trans->num_writers) < 1);
1031 atomic_dec(&cur_trans->num_writers);
1032 extwriter_counter_dec(cur_trans, trans->type);
1034 cond_wake_up(&cur_trans->writer_wait);
1039 btrfs_put_transaction(cur_trans);
1973 struct btrfs_transaction *cur_trans;
1980 cur_trans = trans->transaction;
1981 refcount_inc(&cur_trans->use_count);
1991 cur_trans->state >= TRANS_STATE_COMMIT_START ||
1992 TRANS_ABORTED(cur_trans));
1993 btrfs_put_transaction(cur_trans);
1999 struct btrfs_transaction *cur_trans = trans->transaction;
2012 BUG_ON(list_empty(&cur_trans->list));
2014 if (cur_trans == fs_info->running_transaction) {
2015 cur_trans->state = TRANS_STATE_COMMIT_DOING;
2023 wait_event(cur_trans->writer_wait,
2024 atomic_read(&cur_trans->num_writers) == 1);
2037 list_del_init(&cur_trans->list);
2044 if (cur_trans == fs_info->running_transaction)
2050 btrfs_put_transaction(cur_trans);
2051 btrfs_put_transaction(cur_trans);
2130 struct btrfs_transaction *cur_trans = trans->transaction;
2136 ASSERT(cur_trans->state >= TRANS_STATE_COMMIT_PREP);
2138 list_add(&trans->pending_snapshot->list, &cur_trans->pending_snapshots);
2153 struct btrfs_transaction *cur_trans = trans->transaction;
2165 if (TRANS_ABORTED(cur_trans)) {
2166 ret = cur_trans->aborted;
2178 &cur_trans->delayed_refs.flags)) {
2190 if (!test_bit(BTRFS_TRANS_DIRTY_BG_RUN, &cur_trans->flags)) {
2208 &cur_trans->flags))
2220 if (cur_trans->state >= TRANS_STATE_COMMIT_PREP) {
2226 refcount_inc(&cur_trans->use_count);
2234 wait_for_commit(cur_trans, want_state);
2236 if (TRANS_ABORTED(cur_trans))
2237 ret = cur_trans->aborted;
2239 btrfs_put_transaction(cur_trans);
2244 cur_trans->state = TRANS_STATE_COMMIT_PREP;
2248 if (cur_trans->list.prev != &fs_info->trans_list) {
2254 prev_trans = list_entry(cur_trans->list.prev,
2283 cur_trans->state = TRANS_STATE_COMMIT_START;
2293 extwriter_counter_dec(cur_trans, trans->type);
2310 wait_event(cur_trans->writer_wait,
2311 extwriter_counter_read(cur_trans) == 0);
2328 wait_event(cur_trans->pending_wait,
2329 atomic_read(&cur_trans->pending_ordered) == 0);
2339 cur_trans->state = TRANS_STATE_COMMIT_DOING;
2349 wait_event(cur_trans->writer_wait,
2350 atomic_read(&cur_trans->num_writers) == 1);
2369 if (TRANS_ABORTED(cur_trans)) {
2370 ret = cur_trans->aborted;
2414 WARN_ON(cur_trans != trans->transaction);
2441 if (TRANS_ABORTED(cur_trans)) {
2442 ret = cur_trans->aborted;
2446 cur_trans = fs_info->running_transaction;
2451 &cur_trans->switch_commits);
2456 &cur_trans->switch_commits);
2462 &cur_trans->switch_commits);
2467 ASSERT(list_empty(&cur_trans->dirty_bgs));
2468 ASSERT(list_empty(&cur_trans->io_bgs));
2476 btrfs_commit_device_sizes(cur_trans);
2494 cur_trans->state = TRANS_STATE_UNBLOCKED;
2528 cur_trans->state = TRANS_STATE_SUPER_COMMITTED;
2529 wake_up(&cur_trans->commit_wait);
2534 if (test_bit(BTRFS_TRANS_HAVE_FREE_BGS, &cur_trans->flags))
2537 fs_info->last_trans_committed = cur_trans->transid;
2542 cur_trans->state = TRANS_STATE_COMPLETED;
2543 wake_up(&cur_trans->commit_wait);
2547 list_del_init(&cur_trans->list);
2550 btrfs_put_transaction(cur_trans);
2551 btrfs_put_transaction(cur_trans);