Lines Matching refs:cur

204 	struct btrfs_stripe_hash *cur;  in btrfs_alloc_stripe_hash_table()  local
234 cur = h + i; in btrfs_alloc_stripe_hash_table()
235 INIT_LIST_HEAD(&cur->hash_list); in btrfs_alloc_stripe_hash_table()
236 spin_lock_init(&cur->lock); in btrfs_alloc_stripe_hash_table()
237 init_waitqueue_head(&cur->wait); in btrfs_alloc_stripe_hash_table()
570 struct btrfs_raid_bio *cur) in rbio_can_merge() argument
573 test_bit(RBIO_RMW_LOCKED_BIT, &cur->flags)) in rbio_can_merge()
584 test_bit(RBIO_CACHE_BIT, &cur->flags)) in rbio_can_merge()
588 cur->bbio->raid_map[0]) in rbio_can_merge()
592 if (last->operation != cur->operation) in rbio_can_merge()
603 cur->operation == BTRFS_RBIO_PARITY_SCRUB) in rbio_can_merge()
607 cur->operation == BTRFS_RBIO_REBUILD_MISSING) in rbio_can_merge()
662 struct btrfs_raid_bio *cur; in lock_stripe_add() local
672 list_for_each_entry(cur, &h->hash_list, hash_list) { in lock_stripe_add()
674 if (cur->bbio->raid_map[0] == rbio->bbio->raid_map[0]) { in lock_stripe_add()
675 spin_lock(&cur->bio_list_lock); in lock_stripe_add()
678 if (bio_list_empty(&cur->bio_list) && in lock_stripe_add()
679 list_empty(&cur->plug_list) && in lock_stripe_add()
680 test_bit(RBIO_CACHE_BIT, &cur->flags) && in lock_stripe_add()
681 !test_bit(RBIO_RMW_LOCKED_BIT, &cur->flags)) { in lock_stripe_add()
682 list_del_init(&cur->hash_list); in lock_stripe_add()
683 atomic_dec(&cur->refs); in lock_stripe_add()
685 steal_rbio(cur, rbio); in lock_stripe_add()
686 cache_drop = cur; in lock_stripe_add()
687 spin_unlock(&cur->bio_list_lock); in lock_stripe_add()
693 if (rbio_can_merge(cur, rbio)) { in lock_stripe_add()
694 merge_rbio(cur, rbio); in lock_stripe_add()
695 spin_unlock(&cur->bio_list_lock); in lock_stripe_add()
710 list_for_each_entry(pending, &cur->plug_list, in lock_stripe_add()
714 spin_unlock(&cur->bio_list_lock); in lock_stripe_add()
725 list_add_tail(&rbio->plug_list, &cur->plug_list); in lock_stripe_add()
726 spin_unlock(&cur->bio_list_lock); in lock_stripe_add()
868 struct bio *cur = bio_list_get(&rbio->bio_list); in rbio_orig_end_io() local
876 while (cur) { in rbio_orig_end_io()
877 next = cur->bi_next; in rbio_orig_end_io()
878 cur->bi_next = NULL; in rbio_orig_end_io()
879 cur->bi_error = err; in rbio_orig_end_io()
880 bio_endio(cur); in rbio_orig_end_io()
881 cur = next; in rbio_orig_end_io()
1682 struct btrfs_raid_bio *cur; in run_plug() local
1692 cur = list_entry(plug->rbio_list.next, in run_plug()
1694 list_del_init(&cur->plug_list); in run_plug()
1696 if (rbio_is_full(cur)) { in run_plug()
1698 full_stripe_write(cur); in run_plug()
1702 if (rbio_can_merge(last, cur)) { in run_plug()
1703 merge_rbio(last, cur); in run_plug()
1704 __free_raid_bio(cur); in run_plug()
1710 last = cur; in run_plug()