search for: rb_erase

Displaying 20 results from an estimated 81 matches for "rb_erase".

Did you mean: mbb_erase
2018 Feb 13
2
[drm-nouveau-mmu] question about potential NULL pointer dereference
...->tags); 966 nvkm_memory_unref(&vma->memory); 967 968 if (vma->part) { 969 struct nvkm_vma *prev = node(vma, prev); 970 if (!prev->memory) { 971 prev->size += vma->size; 972 rb_erase(&vma->tree, &vmm->root); 973 list_del(&vma->head); 974 kfree(vma); 975 vma = prev; 976 } 977 } 978 979 next = node(vma, next); 980 if (next && next-&...
2006 Aug 02
10
[PATCH 0/6] htb: cleanup
The HTB scheduler code is a mess, this patch set does some basic house cleaning. The first four should cause no code change, but the last two need more testing. -- Stephen Hemminger <shemminger@osdl.org> "And in the Packet there writ down that doome" - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to
2018 Feb 13
0
[drm-nouveau-mmu] question about potential NULL pointer dereference
...nvkm_memory_unref(&vma->memory); > 967 > 968 if (vma->part) { > 969 struct nvkm_vma *prev = node(vma, prev); > 970 if (!prev->memory) { > 971 prev->size += vma->size; > 972 rb_erase(&vma->tree, &vmm->root); > 973 list_del(&vma->head); > 974 kfree(vma); > 975 vma = prev; > 976 } > 977 } > 978 > 979 next = node(vma, next); > 980...
2012 Dec 03
1
xen-blkback: move free persistent grants code
...from Nov 16, 2012, leads to the following warning: drivers/block/xen-blkback/blkback.c:238 free_persistent_gnts() warn: 'persistent_gnt' was already freed. drivers/block/xen-blkback/blkback.c 232 pages[segs_to_unmap] = persistent_gnt->page; 233 rb_erase(&persistent_gnt->node, root); 234 kfree(persistent_gnt); ^^^^^^^^^^^^^^^^^^^^ kfree(); 235 num--; 236 237 if (++segs_to_unmap == BLKIF_MAX_SEGMENTS_PER_REQUEST || 238 !rb_nex...
2012 Dec 03
1
xen-blkback: move free persistent grants code
...from Nov 16, 2012, leads to the following warning: drivers/block/xen-blkback/blkback.c:238 free_persistent_gnts() warn: 'persistent_gnt' was already freed. drivers/block/xen-blkback/blkback.c 232 pages[segs_to_unmap] = persistent_gnt->page; 233 rb_erase(&persistent_gnt->node, root); 234 kfree(persistent_gnt); ^^^^^^^^^^^^^^^^^^^^ kfree(); 235 num--; 236 237 if (++segs_to_unmap == BLKIF_MAX_SEGMENTS_PER_REQUEST || 238 !rb_nex...
2009 Aug 21
0
[GIT PULL] btrfs rb corruption fix
...amp;(*p)->rb_left; + p = &parent->rb_left; else if (inode->i_ino > entry->vfs_inode.i_ino) - p = &(*p)->rb_right; + p = &parent->rb_right; else { WARN_ON(!(entry->vfs_inode.i_state & (I_WILL_FREE | I_FREEING | I_CLEAR))); - break; + rb_erase(parent, &root->inode_tree); + RB_CLEAR_NODE(parent); + spin_unlock(&root->inode_lock); + goto again; } } rb_link_node(&BTRFS_I(inode)->rb_node, parent, p); @@ -3126,12 +3133,12 @@ static void inode_tree_del(struct inode *inode) { struct btrfs_root *root = BTRFS_...
2018 Apr 04
2
nouveau TRAP_M2MF still there on G98
...; next->page != p) > - tail = ALIGN_DOWN(tail, vmm->func->page_block); > + tail = rounddown(tail, vmm->func->page_block); > > if (addr <= tail && tail - addr >= size) { > rb_erase(&this->tree, &vmm->free); > Alas, it did work for a few hours, then a total display freeze: [29982.011795] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 2 [Xorg[2667]] get 0000037d90 put 000003a2cc ib_get 000001dc ib_put 000001dd state 80004861 (err: INVALID_CMD) push 00704031 [29...
2008 Sep 25
0
[PATCH 2/4] Add shared reference cache
...t)) { ref = list_entry(tree->list.next, struct btrfs_leaf_ref, list); - BUG_ON(!ref->in_tree); + BUG_ON(ref->tree != tree); if (ref->root_gen > max_root_gen) break; + if (!xchg(&ref->in_tree, 0)) { + cond_resched_lock(&tree->lock); + continue; + } rb_erase(&ref->rb_node, &tree->root); - ref->in_tree = 0; list_del_init(&ref->list); spin_unlock(&tree->lock); @@ -137,25 +142,34 @@ struct rb_node *rb; struct btrfs_leaf_ref *ref = NULL; struct btrfs_leaf_ref_tree *tree = root->ref_tree; - - if (!tree) - re...
2012 May 24
2
[PATCH] Btrfs: fix the same inode id problem when doing auto defragment
...lse if (root_objectid || first_ino) { + root_objectid = 0; first_ino = 0; continue; } else { @@ -228,6 +252,7 @@ int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) /* remove it from the rbtree */ first_ino = defrag->ino + 1; + root_objectid = defrag->root; rb_erase(&defrag->rb_node, &fs_info->defrag_inodes); if (btrfs_fs_closing(fs_info) || -- 1.7.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majord...
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
...ump_free_space(cache, bytes); spin_unlock(&cache->lock); } - spin_unlock(&info->lock); + up_read(&info->groups_sem); } static int __btrfs_reserve_extent(struct btrfs_trans_handle *trans, @@ -5079,9 +5019,9 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) rb_erase(&block_group->cache_node, &info->block_group_cache_tree); - spin_lock(&block_group->space_info->lock); + down_write(&block_group->space_info->groups_sem); list_del(&block_group->list); - spin_unlock(&block_group->space_info->lock); + up...
2018 Mar 03
0
[PATCH] mmu: ALIGN_DOWN correct variable
...ail = this->addr + this->size; if (vmm->func->page_block && next && next->page != p) - tail = ALIGN_DOWN(addr, vmm->func->page_block); + tail = ALIGN_DOWN(tail, vmm->func->page_block); if (addr <= tail && tail - addr >= size) { rb_erase(&this->tree, &vmm->free); -- 2.16.2
2018 Apr 04
0
nouveau TRAP_M2MF still there on G98
...&& next && next->page != p) - tail = ALIGN_DOWN(tail, vmm->func->page_block); + tail = rounddown(tail, vmm->func->page_block); if (addr <= tail && tail - addr >= size) { rb_erase(&this->tree, &vmm->free); All best, Māris.
2018 Apr 04
0
nouveau TRAP_M2MF still there on G98
...p) >> - tail = ALIGN_DOWN(tail, vmm->func->page_block); >> + tail = rounddown(tail, vmm->func->page_block); >> >> if (addr <= tail && tail - addr >= size) { >> rb_erase(&this->tree, &vmm->free); >> > > Alas, it did work for a few hours, then a total display freeze: > > [29982.011795] nouveau 0000:01:00.0: fifo: DMA_PUSHER - ch 2 [Xorg[2667]] get > 0000037d90 put 000003a2cc ib_get 000001dc ib_put 000001dd state 80004861 (err: >...
2010 Jul 13
0
[PATCH 1/2] btrfs: restructure try_release_extent_buffer()
..._buffer(struct extent_io_tree *tree, struct page *page) ret = 0; goto out; } - /* at this point we can safely release the extent buffer */ - num_pages = num_extent_pages(eb->start, eb->len); - for (i = 0; i < num_pages; i++) - page_cache_release(extent_buffer_page(eb, i)); + rb_erase(&eb->rb_node, &tree->buffer); - __free_extent_buffer(eb); + /* at this point we can safely release the extent buffer */ + btrfs_release_extent_buffer(eb); out: spin_unlock(&tree->buffer_lock); return ret; -- 1.7.0.1 -- To unsubscribe from this list: send the line &quot...
2013 Jan 31
1
[PATCH] Btrfs: fix freeing delayed ref head while still holding its mutex V2
...; head = btrfs_delayed_node_to_head(ref); if (!mutex_trylock(&head->mutex)) { @@ -3641,10 +3641,12 @@ int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans, delayed_refs->num_heads_ready--; list_del_init(&head->cluster); } + ref->in_tree = 0; rb_erase(&ref->rb_node, &delayed_refs->root); delayed_refs->num_entries--; - + if (head) + mutex_unlock(&head->mutex); spin_unlock(&delayed_refs->lock); btrfs_put_delayed_ref(ref); -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe lin...
2012 Sep 17
0
[PATCH] Btrfs: do not hold the write_lock on the extent tree while logging V2
...it a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index 8d1364d..b8cbc8d 100644 --- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c @@ -407,7 +407,8 @@ int remove_extent_mapping(struct extent_map_tree *tree, struct extent_map *em) WARN_ON(test_bit(EXTENT_FLAG_PINNED, &em->flags)); rb_erase(&em->rb_node, &tree->map); - list_del_init(&em->list); + if (!test_bit(EXTENT_FLAG_LOGGING, &em->flags)) + list_del_init(&em->list); em->in_tree = 0; return ret; } diff --git a/fs/btrfs/extent_map.h b/fs/btrfs/extent_map.h index 8e6294b..6792255 100644 --...
2018 Apr 03
2
nouveau TRAP_M2MF still there on G98
Hi! In commit da5e45e619b3f101420c38b3006a9ae4f3ad19b0: > drm/nouveau/mmu: ALIGN_DOWN correct variable > > Commit 7110c89bb8852ff8b0f88ce05b332b3fe22bd11e ("mmu: swap out round > for ALIGN") replaced two calls to round/rounddown with ALIGN/ALIGN_DOWN, > but erroneously applied ALIGN_DOWN to a different variable (addr) and left > intended variable (tail) not
2011 Jan 06
3
Offline Deduplication for Btrfs V2
Just a quick update, I''ve dropped the hashing stuff in favor of doing a memcmp in the kernel to make sure the data is still the same. The thing that takes a while is reading the data up from disk, so doing a memcmp of the entire buffer isn''t that big of a deal, not to mention there''s a possiblity for malicious users if there is a problem with the hashing algorithms we
2010 Mar 02
3
2.6.33 high cpu usage
With the ATI bug I was hitting earlier fixed, only my btrfs partition continues to show high cpu usage for some operations. Rsync, git pull, git checkout and svn up are typicall operations which trigger the high cpu usage. As an example, this perf report is from using git checkout to change to a new branch; the change needed to checkout 208 files out of about 1600 total files. du(1) reports
2012 Aug 01
7
[PATCH] Btrfs: barrier before waitqueue_active
..._wait)) wake_up(workspace_wait); } diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 335605c..8cc9b19 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c @@ -513,9 +513,11 @@ static void __btrfs_remove_delayed_item(struct btrfs_delayed_item *delayed_item) rb_erase(&delayed_item->rb_node, root); delayed_item->delayed_node->count--; atomic_dec(&delayed_root->items); - if (atomic_read(&delayed_root->items) < BTRFS_DELAYED_BACKGROUND && - waitqueue_active(&delayed_root->wait)) - wake_up(&delayed_root->...