From: Linus Torvalds Date: Tue, 17 Jan 2012 23:52:51 +0000 (-0800) Subject: Merge branch 'btrfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs X-Git-Tag: v3.3-rc1~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d65773b22b749252b2805dcf96bdeb951a9481d8;p=platform%2Fkernel%2Flinux-stable.git Merge branch 'btrfs' of git://git./linux/kernel/git/viro/vfs * 'btrfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: btrfs: take allocation of ->tree_root into open_ctree() btrfs: let ->s_fs_info point to fs_info, not root... btrfs: consolidate failure exits in btrfs_mount() a bit btrfs: make free_fs_info() call ->kill_sb() unconditional btrfs: merge free_fs_info() calls on fill_super failures btrfs: kill pointless reassignment of ->s_fs_info in btrfs_fill_super() btrfs: make open_ctree() return int btrfs: sanitizing ->fs_info, part 5 btrfs: sanitizing ->fs_info, part 4 btrfs: sanitizing ->fs_info, part 3 btrfs: sanitizing ->fs_info, part 2 btrfs: sanitizing ->fs_info, part 1 btrfs: fix a deadlock in btrfs_scan_one_device() btrfs: fix mount/umount race btrfs: get ->kill_sb() of its own btrfs: preparation to fixing mount/umount race --- d65773b22b749252b2805dcf96bdeb951a9481d8 diff --cc fs/btrfs/disk-io.c index 89e99eb384db,dd71be875939..7aa9cd36bf1b --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@@ -2444,13 -2427,9 +2449,13 @@@ retry_root_backup if (!err) err = btrfs_orphan_cleanup(fs_info->tree_root); up_read(&fs_info->cleanup_work_sem); + + if (!err) + err = btrfs_recover_balance(fs_info->tree_root); + if (err) { close_ctree(tree_root); - return ERR_PTR(err); + return err; } }