search for: root_objectid

Displaying 16 results from an estimated 16 matches for "root_objectid".

2012 May 27
0
[RFC PATCH] Decrease Metadata Fragment Using A Caterpillar Band Method
...+BTRFS_SETGET_HEADER_FUNCS(header_cater, struct btrfs_header, + cater_index_factor, 8); static inline int btrfs_header_flag(struct extent_buffer *eb, u64 flag) { @@ -2445,6 +2462,19 @@ struct extent_buffer *btrfs_alloc_free_b struct btrfs_root *root, u32 blocksize, u64 parent, u64 root_objectid, struct btrfs_disk_key *key, int level, + u64 hint, u64 empty_size, int for_cow); +int btrfs_cater_blocks_free(struct btrfs_root *root, u64 start, u64 len, + u8 factor, u8 index); +struct extent_buffer *btrfs_grab_cater_block(struct btrfs_trans_handle *trans, + struct btrfs_root *...
2012 May 24
2
[PATCH] Btrfs: fix the same inode id problem when doing auto defragment
...g(&tmp, entry) > 0) { parent = rb_next(parent); entry = rb_entry(parent, struct inode_defrag, rb_node); } @@ -202,6 +222,7 @@ int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) struct btrfs_key key; struct btrfs_ioctl_defrag_range_args range; u64 first_ino = 0; + u64 root_objectid = 0; int num_defrag; int defrag_batch = 1024; @@ -214,11 +235,14 @@ int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info) n = NULL; /* find an inode to defrag */ - defrag = btrfs_find_defrag_inode(fs_info, first_ino, &n); + defrag = btrfs_find_defrag_inode(fs_info, root_obj...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...of(*new_root), GFP_NOFS); if (!new_root) @@ -98,8 +99,12 @@ int btrfs_copy_root(struct btrfs_trans_h WARN_ON(root->ref_cows && trans->transid != root->last_trans); level = btrfs_header_level(buf); - cow = btrfs_alloc_free_block(trans, new_root, buf->len, 0, - new_root_objectid, trans->transid, + if (level == 0) + btrfs_item_key(buf, &disk_key, 0); + else + btrfs_node_key(buf, &disk_key, 0); + cow = btrfs_alloc_free_block(trans, new_root, buf->len, + new_root_objectid, &disk_key, level, buf->start, 0); if (IS_ERR(cow)) { kfree...
2008 Aug 30
0
[PATCH] btrfs: remove unused function btrfs_ilookup
...0.000000000 -0300 @@ -1698,8 +1698,6 @@ void btrfs_destroy_cachep(void); long btrfs_ioctl_trans_end(struct file *file); struct inode *btrfs_iget_locked(struct super_block *s, u64 objectid, struct btrfs_root *root); -struct inode *btrfs_ilookup(struct super_block *s, u64 objectid, - u64 root_objectid); struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, struct btrfs_root *root, int *is_new); int btrfs_commit_write(struct file *file, struct page *page, Index: btrfs-unstable/inode.c =================================================================== --- btrfs-unstab...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
.../fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 15cbc2b..4e8c12f 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -989,6 +989,9 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans, btrfs_free_tree_block(trans, root, buf, parent_start, last_ref); } + + buf->root_objectid = 0; + if (unlock_orig) btrfs_tree_unlock(buf); free_extent_buffer_stale(buf); @@ -1672,6 +1675,9 @@ static noinline int balance_level(struct btrfs_trans_handle *trans, path->locks[level] = 0; path->nodes[level] = NULL; clean_tree_block(trans, root, mid); + + mid->root_obj...
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
2008 Jul 20
26
[PATCH] NFS support for btrfs - v2
...t inode *inode = dentry->d_inode; + int len = *max_len; + + if ((len < BTRFS_FID_NON_CONNECTABLE ) || + (connectable && len < BTRFS_FID_CONNECTABLE)) { + return 255; + } + + len = BTRFS_FID_NON_CONNECTABLE; + + fid->objectid = BTRFS_I(inode)->location.objectid; + fid->root_objectid = BTRFS_I(inode)->root->objectid; + fid->gen = inode->i_generation; + + if (connectable && !S_ISDIR(inode->i_mode)) { + struct inode *parent; + + spin_lock(&dentry->d_lock); + + parent = dentry->d_parent->d_inode; + fid->parent_objectid = BTRFS_I(parent)-&...
2011 Oct 22
7
Kernel BUG unable to handle kernel NULL pointer dereference
Hello, I got a kernel bug error, my guess from BTRFS. Here is the report, Oct 22 20:44:43 localhost kernel: [25554.947970] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030 Oct 22 20:44:43 localhost kernel: [25554.948002] IP: [<ffffffffa01ab027>] btrfs_print_leaf+0x37/0x880 [btrfs] Oct 22 20:44:43 localhost kernel: [25554.948037] PGD bfa44067 PUD bfa43067 PMD 0 Oct
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
2008 Oct 27
0
[PATCH 3/4] update nodatacow code
...+ struct btrfs_root *root, u64 bytenr) { struct btrfs_root *extent_root = root->fs_info->extent_root; struct btrfs_path *path; @@ -858,8 +857,8 @@ static int get_reference_status(struct b struct btrfs_extent_ref *ref_item; struct btrfs_key key; struct btrfs_key found_key; - u64 root_objectid = root->root_key.objectid; - u64 ref_generation; + u64 ref_root; + u64 last_snapshot; u32 nritems; int ret; @@ -872,7 +871,9 @@ static int get_reference_status(struct b if (ret < 0) goto out; BUG_ON(ret == 0); - if (ret < 0 || path->slots[0] == 0) + + ret = -ENOENT; + if (p...
2008 Aug 28
0
[PATCH] btrfs: cleanup d_obtain_alias useage
...table.orig/export.c 2008-08-28 19:56:13.000000000 -0300 +++ btrfs-unstable/export.c 2008-08-28 19:57:04.000000000 -0300 @@ -68,7 +68,6 @@ static struct dentry *btrfs_get_dentry(s { struct btrfs_root *root; struct inode *inode; - struct dentry *result; struct btrfs_key key; key.objectid = root_objectid; @@ -92,11 +91,7 @@ static struct dentry *btrfs_get_dentry(s return ERR_PTR(-ESTALE); } - result = d_obtain_alias(inode); - if (!result) - return ERR_PTR(-ENOMEM); - - return result; + return d_obtain_alias(inode); } static struct dentry *btrfs_fh_to_parent(struct super_block *sb, struc...
2011 Jul 26
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations
.../inode.c | 6 +- 6 files changed, 129 insertions(+), 99 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index ad28922..8b9e1f9 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -2198,8 +2198,6 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, u64 root_objectid, u64 owner, u64 offset); int btrfs_free_reserved_extent(struct btrfs_root *root, u64 start, u64 len); -int btrfs_update_reserved_bytes(struct btrfs_block_group_cache *cache, - u64 num_bytes, int reserve, int sinfo); int btrfs_prepare_extent_commit(struct btrfs_trans_handle *trans, struc...
2011 Jul 27
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations V2
.../inode.c | 6 +- 6 files changed, 128 insertions(+), 99 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index ad28922..8b9e1f9 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -2198,8 +2198,6 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, u64 root_objectid, u64 owner, u64 offset); int btrfs_free_reserved_extent(struct btrfs_root *root, u64 start, u64 len); -int btrfs_update_reserved_bytes(struct btrfs_block_group_cache *cache, - u64 num_bytes, int reserve, int sinfo); int btrfs_prepare_extent_commit(struct btrfs_trans_handle *trans, struc...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...em_size, 1); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); } btrfs_mark_buffer_dirty(leaf); return 0; @@ -1801,7 +1801,7 @@ static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans, ret = insert_extent_backref(trans, root->fs_info->extent_root, path, bytenr, parent, root_objectid, owner, offset, refs_to_add); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); out: btrfs_free_path(path); return err; @@ -2003,7 +2003,7 @@ static int run_one_delayed_ref(struct btrfs_trans_handle *trans, ret = btrfs_del_csums(trans, root, node->bytenr, n...
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
...t_cache, &key, - ptr, size, 0, 0, 1, 0, size); + ptr, size, 0, 0, 1, 0, 1, size); BUG_ON(ret); add_tree_backref(extent_cache, ptr, parent, owner, 1); @@ -2793,6 +2817,8 @@ static int run_next_block(struct btrfs_root *root, total_btree_bytes += buf->len; if (fs_root_objectid(btrfs_header_owner(buf))) total_fs_tree_bytes += buf->len; + if (btrfs_header_owner(buf) == BTRFS_EXTENT_TREE_OBJECTID) + total_extent_tree_bytes += buf->len; if (!found_old_backref && btrfs_header_owner(buf) == BTRFS_TREE_RELOC_OBJECTID && btrfs_header_backr...
2011 Aug 15
9
[patch v2 0/9] btrfs: More error handling patches
Hi all - The following 9 patches add more error handling to the btrfs code: - Add btrfs_panic - Catch locking failures in {set,clear}_extent_bit - Push up set_extent_bit errors to callers - Push up lock_extent errors to callers - Push up clear_extent_bit errors to callers - Push up unlock_extent errors to callers - Make pin_down_extent return void - Push up btrfs_pin_extent errors to