search for: btrfs_destroy_delayed_refs

Displaying 6 results from an estimated 6 matches for "btrfs_destroy_delayed_refs".

2013 Jan 31
1
[PATCH] Btrfs: fix freeing delayed ref head while still holding its mutex V2
...the freeing stuff, just unlock if we have a head. fs/btrfs/disk-io.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 12ef591..42f83aa 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -3615,11 +3615,11 @@ int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans, } while ((node = rb_first(&delayed_refs->root)) != NULL) { - ref = rb_entry(node, struct btrfs_delayed_ref_node, rb_node); + struct btrfs_delayed_ref_head *head = NULL; + ref = rb_entry(node, struct btrfs_delayed_ref_node, rb_node); atomic_set(&...
2013 Mar 04
2
[PATCH 1/2] Btrfs: fix wrong handle at error path of create_snapshot() when the commit fails
...-git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 02369a3..7d84651 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -62,7 +62,7 @@ static void btrfs_destroy_ordered_operations(struct btrfs_transaction *t, static void btrfs_destroy_ordered_extents(struct btrfs_root *root); static int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans, struct btrfs_root *root); -static void btrfs_destroy_pending_snapshots(struct btrfs_transaction *t); +static void btrfs_evict_pending_snapshots(struct btrfs_transaction *t); static void btrfs_destroy_delalloc_inodes(struct btrfs_root *root); static int...
2011 Aug 26
0
[PATCH] Btrfs: make some functions return void
...0 @@ static void free_fs_root(struct btrfs_root *root); static void btrfs_check_super_valid(struct btrfs_fs_info *fs_info, int read_only); static int btrfs_destroy_ordered_operations(struct btrfs_root *root); -static int btrfs_destroy_ordered_extents(struct btrfs_root *root); -static int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans, - struct btrfs_root *root); -static int btrfs_destroy_pending_snapshots(struct btrfs_transaction *t); +static void btrfs_destroy_ordered_extents(struct btrfs_root *root); +static void btrfs_destroy_delayed_refs(struct btrfs_transaction *trans, + s...
2012 Sep 12
2
Deadlock in btrfs-cleaner, related to snapshot deletion
.../0x2d0 [btrfs] [ 386.319317] [<ffffffffa00ec555>] btrfs_commit_transaction+0xa5/0x9c0 [btrfs] [ 386.319325] [<ffffffff8107ccd0>] ? add_wait_queue+0x60/0x60 [ 386.319359] [<ffffffffa00e6a65>] transaction_kthread+0x1b5/0x230 [btrfs] [ 386.319393] [<ffffffffa00e68b0>] ? btrfs_destroy_delayed_refs.isra.103+0x210/0x210 [btrfs] [ 386.319400] [<ffffffff8107c3f3>] kthread+0x93/0xa0 [ 386.319407] [<ffffffff816a7a84>] kernel_thread_helper+0x4/0x10 [ 386.319414] [<ffffffff8107c360>] ? flush_kthread_worker+0xb0/0xb0 [ 386.319421] [<ffffffff816a7a80>] ? gs_change+0x13/...
2012 Aug 24
4
[PATCH] Btrfs: pass lockdep rwsem metadata to async commit transaction
The freeze rwsem is taken by sb_start_intwrite() and dropped during the commit_ or end_transaction(). In the async case, that happens in a worker thread. Tell lockdep the calling thread is releasing ownership of the rwsem and the async thread is picking it up. Josef and I worked out a more complicated solution that made the async commit thread join and potentially get a later transaction, but
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