Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 285987
b: refs/heads/master
c: b367e47
h: refs/heads/master
i:
  285985: e55061f
  285983: 3e85575
v: v3
  • Loading branch information
Li Zefan committed Jan 11, 2012
1 parent 2e0008b commit 5977f71
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c7c144db531fda414e532adac56e965ce332e2a5
refs/heads/master: b367e47fb3a70f5d24ebd6faf7d42436d485fb2d
2 changes: 0 additions & 2 deletions trunk/fs/btrfs/disk-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -2270,9 +2270,7 @@ struct btrfs_root *open_ctree(struct super_block *sb,
(unsigned long)btrfs_header_chunk_tree_uuid(chunk_root->node),
BTRFS_UUID_SIZE);

mutex_lock(&fs_info->chunk_mutex);
ret = btrfs_read_chunk_tree(chunk_root);
mutex_unlock(&fs_info->chunk_mutex);
if (ret) {
printk(KERN_WARNING "btrfs: failed to read chunk tree on %s\n",
sb->s_id);
Expand Down
9 changes: 7 additions & 2 deletions trunk/fs/btrfs/volumes.c
Original file line number Diff line number Diff line change
Expand Up @@ -3506,7 +3506,7 @@ static int open_seed_devices(struct btrfs_root *root, u8 *fsid)
struct btrfs_fs_devices *fs_devices;
int ret;

mutex_lock(&uuid_mutex);
BUG_ON(!mutex_is_locked(&uuid_mutex));

fs_devices = root->fs_info->fs_devices->seed;
while (fs_devices) {
Expand Down Expand Up @@ -3544,7 +3544,6 @@ static int open_seed_devices(struct btrfs_root *root, u8 *fsid)
fs_devices->seed = root->fs_info->fs_devices->seed;
root->fs_info->fs_devices->seed = fs_devices;
out:
mutex_unlock(&uuid_mutex);
return ret;
}

Expand Down Expand Up @@ -3687,6 +3686,9 @@ int btrfs_read_chunk_tree(struct btrfs_root *root)
if (!path)
return -ENOMEM;

mutex_lock(&uuid_mutex);
lock_chunks(root);

/* first we search for all of the device items, and then we
* read in all of the chunk items. This way we can create chunk
* mappings that reference all of the devices that are afound
Expand Down Expand Up @@ -3737,6 +3739,9 @@ int btrfs_read_chunk_tree(struct btrfs_root *root)
}
ret = 0;
error:
unlock_chunks(root);
mutex_unlock(&uuid_mutex);

btrfs_free_path(path);
return ret;
}

0 comments on commit 5977f71

Please sign in to comment.