diff options
author | Josef Bacik <josef@redhat.com> | 2010-10-22 15:26:53 -0400 |
---|---|---|
committer | Josef Bacik <josef@redhat.com> | 2010-10-22 15:55:03 -0400 |
commit | 0e78340f3c1fc603e8016c8ac304766bcc65506e (patch) | |
tree | a86dfd1d78a577e8d799e90f105ccfdc881dec0a /mm/msync.c | |
parent | 8bb8ab2e93f9c3c9453e13be0f37d344a32a3a6d (diff) |
Btrfs: fix error handling in btrfs_get_sb
If we failed to find the root subvol id, or the subvol=<name>, we would
deactivate the locked super and close the devices. The problem is at this point
we have gotten the SB all setup, which includes setting super_operations, so
when we'd deactiveate the super, we'd do a close_ctree() which closes the
devices, so we'd end up closing the devices twice. So if you do something like
this
mount /dev/sda1 /mnt/test1
mount /dev/sda1 /mnt/test2 -o subvol=xxx
umount /mnt/test1
it would blow up (if subvol xxx doesn't exist). This patch fixes that problem.
Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'mm/msync.c')
0 files changed, 0 insertions, 0 deletions