search for: update_ref

Displaying 4 results from an estimated 4 matches for "update_ref".

2009 Jul 07
0
[PATCH] speed up snapshot dropping
...* when reference count of tree block is 1, it won''t increase * again. once full backref flag is set, we never clear it. @@ -4608,21 +4598,6 @@ static noinline int walk_down_proc(struc BUG_ON(wc->refs[level] == 0); } - if (wc->stage == DROP_REFERENCE && - wc->update_ref && wc->refs[level] > 1) { - BUG_ON(eb == root->node); - BUG_ON(path->slots[level] > 0); - if (level == 0) - btrfs_item_key_to_cpu(eb, &key, path->slots[level]); - else - btrfs_node_key_to_cpu(eb, &key, path->slots[level]); - if (btrfs_header_owner(eb) =...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...he->lock); } @@ -4137,6 +4129,9 @@ again: dump_space_info(sinfo, num_bytes); } + if (!ret && (data & BTRFS_BLOCK_GROUP_METADATA)) + btrfs_trans_used_bytes(trans, ins->offset); + return ret; } @@ -4788,7 +4783,8 @@ int btrfs_drop_snapshot(struct btrfs_root *root, int update_ref) wc = kzalloc(sizeof(*wc), GFP_NOFS); BUG_ON(!wc); - trans = btrfs_start_transaction(tree_root, 1); + trans = btrfs_start_transaction(tree_root, BTRFS_MAX_LEVEL + 1); + BUG_ON(IS_ERR(trans)); if (btrfs_disk_key_objectid(&root_item->drop_progress) == 0) { level = btrfs_header_lev...
2011 Oct 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible to limit subvolumes and any group of subvolumes and also to track the amount of space that will get freed when deleting snapshots. The current version is functionally incomplete, with the main missing feature being the initial scan and rescan of an existing filesystem. I put some effort into writing an introduction into
2011 Oct 04
68
[patch 00/65] Error handling patchset v3
Hi all - Here''s my current error handling patchset, against 3.1-rc8. Almost all of this patchset is preparing for actual error handling. Before we start in on that work, I''m trying to reduce the surface we need to worry about. It turns out that there is a ton of code that returns an error code but never actually reports an error. The patchset has grown to 65 patches. 46 of them