Lines Matching refs:cur_trans

155 	struct btrfs_transaction *cur_trans = trans->transaction;
161 list_for_each_entry_safe(root, tmp, &cur_trans->switch_commits,
173 spin_lock(&cur_trans->dropped_roots_lock);
174 while (!list_empty(&cur_trans->dropped_roots)) {
175 root = list_first_entry(&cur_trans->dropped_roots,
178 spin_unlock(&cur_trans->dropped_roots_lock);
181 spin_lock(&cur_trans->dropped_roots_lock);
183 spin_unlock(&cur_trans->dropped_roots_lock);
275 struct btrfs_transaction *cur_trans;
285 cur_trans = fs_info->running_transaction;
286 if (cur_trans) {
287 if (TRANS_ABORTED(cur_trans)) {
289 return cur_trans->aborted;
291 if (btrfs_blocked_trans_types[cur_trans->state] & type) {
295 refcount_inc(&cur_trans->use_count);
296 atomic_inc(&cur_trans->num_writers);
297 extwriter_counter_inc(cur_trans, type);
317 cur_trans = kmalloc(sizeof(*cur_trans), GFP_NOFS);
318 if (!cur_trans)
327 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);
517 struct btrfs_transaction *cur_trans;
520 cur_trans = fs_info->running_transaction;
521 if (cur_trans && is_transaction_blocked(cur_trans)) {
522 refcount_inc(&cur_trans->use_count);
526 cur_trans->state >= TRANS_STATE_UNBLOCKED ||
527 TRANS_ABORTED(cur_trans));
528 btrfs_put_transaction(cur_trans);
566 struct btrfs_transaction *cur_trans;
685 cur_trans = fs_info->running_transaction;
687 h->transid = cur_trans->transid;
688 h->transaction = cur_trans;
698 if (cur_trans->state >= TRANS_STATE_COMMIT_START &&
844 struct btrfs_transaction *cur_trans = NULL, *t;
855 cur_trans = t;
856 refcount_inc(&cur_trans->use_count);
871 if (!cur_trans) {
884 cur_trans = t;
885 refcount_inc(&cur_trans->use_count);
890 if (!cur_trans)
894 wait_for_commit(cur_trans);
895 ret = cur_trans->aborted;
896 btrfs_put_transaction(cur_trans);
918 struct btrfs_transaction *cur_trans = trans->transaction;
921 if (cur_trans->state >= TRANS_STATE_COMMIT_START ||
922 cur_trans->delayed_refs.flushing)
953 struct btrfs_transaction *cur_trans = trans->transaction;
972 WARN_ON(cur_trans != info->running_transaction);
973 WARN_ON(atomic_read(&cur_trans->num_writers) < 1);
974 atomic_dec(&cur_trans->num_writers);
975 extwriter_counter_dec(cur_trans, trans->type);
977 cond_wake_up(&cur_trans->writer_wait);
978 btrfs_put_transaction(cur_trans);
1901 struct btrfs_transaction *cur_trans;
1916 cur_trans = trans->transaction;
1917 refcount_inc(&cur_trans->use_count);
1932 wait_current_trans_commit_start_and_unblock(fs_info, cur_trans);
1934 wait_current_trans_commit_start(fs_info, cur_trans);
1939 btrfs_put_transaction(cur_trans);
1947 struct btrfs_transaction *cur_trans = trans->transaction;
1960 BUG_ON(list_empty(&cur_trans->list));
1962 if (cur_trans == fs_info->running_transaction) {
1963 cur_trans->state = TRANS_STATE_COMMIT_DOING;
1965 wait_event(cur_trans->writer_wait,
1966 atomic_read(&cur_trans->num_writers) == 1);
1979 list_del_init(&cur_trans->list);
1986 if (cur_trans == fs_info->running_transaction)
1992 btrfs_put_transaction(cur_trans);
1993 btrfs_put_transaction(cur_trans);
2081 struct btrfs_transaction *cur_trans = trans->transaction;
2096 if (TRANS_ABORTED(cur_trans)) {
2097 ret = cur_trans->aborted;
2114 cur_trans = trans->transaction;
2120 cur_trans->delayed_refs.flushing = 1;
2131 if (!test_bit(BTRFS_TRANS_DIRTY_BG_RUN, &cur_trans->flags)) {
2149 &cur_trans->flags))
2163 if (cur_trans->state >= TRANS_STATE_COMMIT_START) {
2165 refcount_inc(&cur_trans->use_count);
2168 wait_for_commit(cur_trans);
2170 if (TRANS_ABORTED(cur_trans))
2171 ret = cur_trans->aborted;
2173 btrfs_put_transaction(cur_trans);
2178 cur_trans->state = TRANS_STATE_COMMIT_START;
2181 if (cur_trans->list.prev != &fs_info->trans_list) {
2182 prev_trans = list_entry(cur_trans->list.prev,
2211 extwriter_counter_dec(cur_trans, trans->type);
2221 wait_event(cur_trans->writer_wait,
2222 extwriter_counter_read(cur_trans) == 0);
2236 wait_event(cur_trans->pending_wait,
2237 atomic_read(&cur_trans->pending_ordered) == 0);
2246 cur_trans->state = TRANS_STATE_COMMIT_DOING;
2248 wait_event(cur_trans->writer_wait,
2249 atomic_read(&cur_trans->num_writers) == 1);
2251 if (TRANS_ABORTED(cur_trans)) {
2252 ret = cur_trans->aborted;
2295 WARN_ON(cur_trans != trans->transaction);
2351 if (TRANS_ABORTED(cur_trans)) {
2352 ret = cur_trans->aborted;
2356 cur_trans = fs_info->running_transaction;
2361 &cur_trans->switch_commits);
2366 &cur_trans->switch_commits);
2370 ASSERT(list_empty(&cur_trans->dirty_bgs));
2371 ASSERT(list_empty(&cur_trans->io_bgs));
2379 btrfs_commit_device_sizes(cur_trans);
2387 cur_trans->state = TRANS_STATE_UNBLOCKED;
2417 if (test_bit(BTRFS_TRANS_HAVE_FREE_BGS, &cur_trans->flags))
2420 fs_info->last_trans_committed = cur_trans->transid;
2425 cur_trans->state = TRANS_STATE_COMPLETED;
2426 wake_up(&cur_trans->commit_wait);
2429 list_del_init(&cur_trans->list);
2432 btrfs_put_transaction(cur_trans);
2433 btrfs_put_transaction(cur_trans);