Lines Matching refs:plug
91 * plug list is used by the plugging code
664 * The rbio is added to the lock owner's plug list, or merged into
665 * an rbio already on the plug list. When the lock owner unlocks,
733 * No merging, put us on the tail of the plug list, our rbio
754 * called as rmw or parity rebuild is completed. If the plug list has more
791 * we use the plug list to hold all the rbios
1669 * rbios on the plug list are sorted for easier merging.
1688 static void run_plug(struct btrfs_plug_cb *plug)
1694 * sort our plug list then try to merge
1698 list_sort(NULL, &plug->rbio_list, plug_cmp);
1699 while (!list_empty(&plug->rbio_list)) {
1700 cur = list_entry(plug->rbio_list.next,
1726 kfree(plug);
1735 struct btrfs_plug_cb *plug;
1736 plug = container_of(work, struct btrfs_plug_cb, work);
1737 run_plug(plug);
1742 struct btrfs_plug_cb *plug;
1743 plug = container_of(cb, struct btrfs_plug_cb, cb);
1746 btrfs_init_work(&plug->work, unplug_work, NULL, NULL);
1747 btrfs_queue_work(plug->info->rmw_workers,
1748 &plug->work);
1751 run_plug(plug);
1788 struct btrfs_plug_cb *plug = NULL;
1804 * don't plug on full rbios, just get them out the door
1814 cb = blk_check_plugged(btrfs_raid_unplug, fs_info, sizeof(*plug));
1816 plug = container_of(cb, struct btrfs_plug_cb, cb);
1817 if (!plug->info) {
1818 plug->info = fs_info;
1819 INIT_LIST_HEAD(&plug->rbio_list);
1821 list_add_tail(&rbio->plug_list, &plug->rbio_list);