Btrfs: setup blank root and fs_info for mount time
authorJosef Bacik <josef@redhat.com>
Fri, 19 Nov 2010 19:59:15 +0000 (14:59 -0500)
committerChris Mason <chris.mason@oracle.com>
Sat, 27 Nov 2010 18:37:51 +0000 (13:37 -0500)
commit450ba0ea06b6ed3612d27f2b7127a9de4160f285
tree2276ddbcb65d7656416cdce69432a5858b35c413
parent975f84fee2e8a77ee5f41bfe7c5682bf29366b10
Btrfs: setup blank root and fs_info for mount time

There is a problem with how we use sget, it searches through the list of supers
attached to the fs_type looking for a super with the same fs_devices as what
we're trying to mount.  This depends on sb->s_fs_info being filled, but we don't
fill that in until we get to btrfs_fill_super, so we could hit supers on the
fs_type super list that have a null s_fs_info.  In order to fix that we need to
go ahead and setup a blank root with a blank fs_info to hold fs_devices, that
way our test will work out right and then we can set s_fs_info in
btrfs_set_super, and then open_ctree will simply use our pre-allocated root and
fs_info when setting everything up.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/disk-io.c
fs/btrfs/super.c