From 8d837a7b042931b3125c674d1b3a7b4ac20601d8 Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Sun, 6 Nov 2011 18:50:56 -0500 Subject: [PATCH] --- yaml --- r: 274719 b: refs/heads/master c: 7c7e82a77fe3d89ae50824aa7c897454675eb4c4 h: refs/heads/master i: 274717: 9f4cf2ad4b27e639376c2930478311341ef67d7f 274715: fd8b7c476e3f09ee0560f8be8f88a0330e6df962 274711: cb5a19d67f53d26fe68cd91998b9e550319dd4f5 274703: 14842a4e7fdf9daf816c32bec7bdb45aeb9f573f 274687: aec2d0b6453992c4037611a1e917203f138761bd v: v3 --- [refs] | 2 +- trunk/fs/btrfs/disk-io.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 46f8067b61c7..b6f910557ff5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d43317dcd074818d4bd12ddd4184a29aff98907b +refs/heads/master: 7c7e82a77fe3d89ae50824aa7c897454675eb4c4 diff --git a/trunk/fs/btrfs/disk-io.c b/trunk/fs/btrfs/disk-io.c index e532892431f4..e53a5bb85670 100644 --- a/trunk/fs/btrfs/disk-io.c +++ b/trunk/fs/btrfs/disk-io.c @@ -1754,11 +1754,18 @@ static void backup_super_roots(struct btrfs_fs_info *info) btrfs_set_backup_extent_root_level(root_backup, btrfs_header_level(info->extent_root->node)); - btrfs_set_backup_fs_root(root_backup, info->fs_root->node->start); - btrfs_set_backup_fs_root_gen(root_backup, + /* + * we might commit during log recovery, which happens before we set + * the fs_root. Make sure it is valid before we fill it in. + */ + if (info->fs_root && info->fs_root->node) { + btrfs_set_backup_fs_root(root_backup, + info->fs_root->node->start); + btrfs_set_backup_fs_root_gen(root_backup, btrfs_header_generation(info->fs_root->node)); - btrfs_set_backup_fs_root_level(root_backup, + btrfs_set_backup_fs_root_level(root_backup, btrfs_header_level(info->fs_root->node)); + } btrfs_set_backup_dev_root(root_backup, info->dev_root->node->start); btrfs_set_backup_dev_root_gen(root_backup,