search for: should_grow

Displaying 3 results from an estimated 3 matches for "should_grow".

2010 Oct 26
0
[PATCH v2] Btrfs: fix deadlock in btrfs_commit_transaction
We calculate timeout (either 1 or MAX_SCHEDULE_TIMEOUT) based on whether num_writers > 1 or should_grow at the top of the loop. Then, much much later, we wait for that timeout if either num_writers or should_grow is true. However, it''s possible for a racing process (calling btrfs_end_transaction()) to decrement num_writers such that we wait forever instead of for 1. Fix this by deciding h...
2010 Oct 25
14
[PATCH 0/6] Btrfs commit fixes, async subvol operations
Hi Chris, This is the extent of my current queue of Btrfs snapshot/subvol/commit stuff. Most of these were posted several months ago. Can be sent upstream during this merge window? Not having this functionality is becoming a bit of a roadblock for our efforts to keep the Ceph data in a consistent state. These patches are also available from
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...ndle *trans, if (flush_on_commit || snap_pending) { btrfs_start_delalloc_inodes(root, 1); ret = btrfs_wait_ordered_extents(root, 0, 1); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); } /* @@ -1098,10 +1098,10 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans, (should_grow && cur_trans->num_joined != joined)); ret = create_pending_snapshots(trans, root->fs_info); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); ret = btrfs_run_delayed_refs(trans, root, (unsigned long)-1); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); WARN_ON(cur_trans != trans->...