search for: extent_op

Displaying 13 results from an estimated 13 matches for "extent_op".

2012 May 27
0
[RFC PATCH] Decrease Metadata Fragment Using A Caterpillar Band Method
...ock(struct btrfs_trans_handle *trans, struct btrfs_root *root, diff -urpN a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h --- a/fs/btrfs/delayed-ref.h 2012-05-21 18:42:51.000000000 +0000 +++ b/fs/btrfs/delayed-ref.h 2012-05-27 19:12:16.839574840 +0000 @@ -63,6 +63,7 @@ struct btrfs_delayed_extent_op { unsigned int update_key:1; unsigned int update_flags:1; unsigned int is_data:1; + u8 cater_index_factor; }; /* diff -urpN a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c --- a/fs/btrfs/extent-tree.c 2012-05-21 18:42:51.000000000 +0000 +++ b/fs/btrfs/extent-tree.c 2012-05-27 19:12:16.8...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...t;node); - free(new_root); - } return 0; } diff -urp btrfs-progs-unstable/extent-tree.c btrfs-progs-2/extent-tree.c --- btrfs-progs-unstable/extent-tree.c 2009-01-08 08:30:09.758081132 +0800 +++ btrfs-progs-2/extent-tree.c 2009-05-11 09:41:38.000000000 +0800 @@ -41,13 +41,21 @@ struct pending_extent_op { int type; u64 bytenr; u64 num_bytes; - u64 parent; - u64 orig_parent; - u64 generation; - u64 orig_generation; + u64 flags; + struct btrfs_disk_key key; int level; }; +static int alloc_reserved_tree_block(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + u6...
2011 Mar 14
1
cppcheck and btrfs
...583]: (error) Data is allocated but not initialized: cb [fs/btrfs/delayed-ref.c:649]: (error) Data is allocated but not initialized: ref [fs/btrfs/delayed-ref.c:694]: (error) Data is allocated but not initialized: ref [fs/btrfs/extent-tree.c:5766]: (error) Data is allocated but not initialized: extent_op [fs/btrfs/extent-tree.c:5768]: (error) Data is allocated but not initialized: extent_op [fs/btrfs/transaction.c:1161]: (error) Data is allocated but not initialized: ac [fs/btrfs/volumes.c:1387]: (error) Possible null pointer dereference: fs_devices [fs/btrfs/volumes.c:3636]: (error) Memory leak...
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
...afsize; + key.type = BTRFS_EXTENT_ITEM_KEY; + goto again; + } + } + if (ret != 0) { btrfs_print_leaf(root, path->nodes[0]); printk("failed to find block number %Lu\n", @@ -1985,6 +2094,9 @@ static int finish_current_insert(struct btrfs_trans_handle *trans, struct pending_extent_op *extent_op; struct btrfs_key key; int ret; + int skinny_metadata = + btrfs_fs_incompat(extent_root->fs_info, + BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA); path = btrfs_alloc_path(); @@ -2000,14 +2112,19 @@ static int finish_current_insert(struct btrfs_trans_handle *trans, if (e...
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
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 Aug 26
0
[PATCH] Btrfs: make some functions return void
...++; trans->delayed_ref_updates++; } - return 0; } /* @@ -588,7 +585,6 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans, struct btrfs_delayed_tree_ref *ref; struct btrfs_delayed_ref_head *head_ref; struct btrfs_delayed_ref_root *delayed_refs; - int ret; BUG_ON(extent_op && extent_op->is_data); ref = kmalloc(sizeof(*ref), GFP_NOFS); @@ -610,13 +606,12 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans, * insert both the head node and the new ref without dropping * the spin lock */ - ret = add_delayed_ref_head(trans, &head_r...
2012 Aug 01
7
[PATCH] Btrfs: barrier before waitqueue_active
...!need_ref_seq(for_cow, ref_root)) { + smp_mb(); + if (waitqueue_active(&fs_info->tree_mod_seq_wait)) + wake_up(&fs_info->tree_mod_seq_wait); + } + spin_unlock(&delayed_refs->lock); if (need_ref_seq(for_cow, ref_root)) btrfs_qgroup_record_ref(trans, &ref->node, extent_op); @@ -713,9 +716,11 @@ int btrfs_add_delayed_data_ref(struct btrfs_fs_info *fs_info, add_delayed_data_ref(fs_info, trans, &ref->node, bytenr, num_bytes, parent, ref_root, owner, offset, action, for_cow); - if (!need_ref_seq(for_cow, ref_root) && - waitqueue_acti...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...+ btrfs_fixable_bug_on(ret); ret = add_delayed_data_ref(trans, &ref->node, bytenr, num_bytes, parent, ref_root, owner, offset, action); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); spin_unlock(&delayed_refs->lock); return 0; } @@ -718,7 +718,7 @@ int btrfs_add_delayed_extent_op(struct btrfs_trans_handle *trans, ret = add_delayed_ref_head(trans, &head_ref->node, bytenr, num_bytes, BTRFS_UPDATE_DELAYED_HEAD, extent_op->is_data); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); spin_unlock(&delayed_refs->lock); return 0; @@ -801,18 +801,18...
2008 Jan 07
1
[PATCH]Add rollback support for the converter
...tree\n"); - goto fail; - } - + fprintf(stderr, "unable to open ctree\n"); + goto fail; + } + fd = dup(fd); + if (fd < 0) { + fprintf(stderr, "unable to duplicate file descriptor\n"); + goto fail; + } root->fs_info->priv_data = ext2_fs; root->fs_info->extent_ops = &extent_ops; ret = init_btrfs(root); if (ret) { - fprintf(stderr, "failed to setup the root tree\n"); - goto fail; - } - snap_root = create_subvol(root, "ext2_saved", 10); - if (!snap_root) { - fprintf(stderr, "failed to create subvol\n"); + fprintf(std...
2013 Aug 14
23
[RFC] btrfs-progs: fix sparse checking and warnings
Hi gang, I was a little surprised to see that patch go by recently which fixed an endian bug. I went to see how sparse checking looked and it was.. broken. I got it going again in my Fedora environment. Most of the patches are just cleanups, but there *were* three real bugs lurking in all that sparse warning spam. So I maintain that it''s worth our time to keep it going and fix
2010 Mar 20
2
[PATCH 4/4] btrfs-convert: split into convert/.
...ze; - ret = set_extent_dirty(free_tree, bytenr, - bytenr + blocksize - 1, 0); - BUG_ON(ret); - } - - return 0; -} - /* mark btrfs-reserved blocks as used */ static void adjust_free_extents(struct convert_fs *fs, struct extent_io_tree *free_tree) @@ -267,113 +171,6 @@ struct btrfs_extent_ops extent_ops = { .free_extent = custom_free_extent, }; -struct dir_iterate_data { - struct btrfs_trans_handle *trans; - struct btrfs_root *root; - struct btrfs_inode_item *inode; - u64 objectid; - u64 index_cnt; - u64 parent; - int errcode; -}; - -static u8 filetype_conversion_table[EXT2_FT_MAX...
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