aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index bacaa38ea82e..0322c55162cb 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -293,20 +293,15 @@ struct btrfs_root *open_ctree(char *filename, struct btrfs_super_block *super)
293 fs_info->inode_root = inode_root; 293 fs_info->inode_root = inode_root;
294 fs_info->last_inode_alloc = 0; 294 fs_info->last_inode_alloc = 0;
295 fs_info->last_inode_alloc_dirid = 0; 295 fs_info->last_inode_alloc_dirid = 0;
296 fs_info->disk_super = super;
296 memset(&fs_info->current_insert, 0, sizeof(fs_info->current_insert)); 297 memset(&fs_info->current_insert, 0, sizeof(fs_info->current_insert));
297 memset(&fs_info->last_insert, 0, sizeof(fs_info->last_insert)); 298 memset(&fs_info->last_insert, 0, sizeof(fs_info->last_insert));
298 299
299 ret = pread(fp, super, sizeof(struct btrfs_super_block), 300 ret = pread(fp, super, sizeof(struct btrfs_super_block),
300 BTRFS_SUPER_INFO_OFFSET); 301 BTRFS_SUPER_INFO_OFFSET);
301 if (ret == 0 || btrfs_super_root(super) == 0) { 302 if (ret == 0 || btrfs_super_root(super) == 0) {
302 printf("making new FS!\n"); 303 BUG();
303 ret = mkfs(fp, 0, 1024); 304 return NULL;
304 if (ret)
305 return NULL;
306 ret = pread(fp, super, sizeof(struct btrfs_super_block),
307 BTRFS_SUPER_INFO_OFFSET);
308 if (ret != sizeof(struct btrfs_super_block))
309 return NULL;
310 } 305 }
311 BUG_ON(ret < 0); 306 BUG_ON(ret < 0);
312 307