err = ntfs_init_from_boot(sb, rq ? queue_logical_block_size(rq) : 512,
                                  bd_inode->i_size);
        if (err)
-               goto out;
+               return err;
 
 #ifdef CONFIG_NTFS3_64BIT_CLUSTER
        sb->s_maxbytes = MAX_LFS_FILESIZE;
        ref.seq = cpu_to_le16(MFT_REC_VOL);
        inode = ntfs_iget5(sb, &ref, &NAME_VOLUME);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $Volume.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
        ref.seq = cpu_to_le16(MFT_REC_MIRR);
        inode = ntfs_iget5(sb, &ref, &NAME_MIRROR);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $MFTMirr.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        sbi->mft.recs_mirr =
        ref.seq = cpu_to_le16(MFT_REC_LOG);
        inode = ntfs_iget5(sb, &ref, &NAME_LOGFILE);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load \x24LogFile.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
                if (!is_ro) {
                        ntfs_warn(sb,
                                  "failed to replay log file. Can't mount rw!");
-                       err = -EINVAL;
-                       goto out;
+                       return -EINVAL;
                }
        } else if (sbi->volume.flags & VOLUME_FLAG_DIRTY) {
                if (!is_ro && !sbi->options->force) {
                        ntfs_warn(
                                sb,
                                "volume is dirty and \"force\" flag is not set!");
-                       err = -EINVAL;
-                       goto out;
+                       return -EINVAL;
                }
        }
 
 
        inode = ntfs_iget5(sb, &ref, &NAME_MFT);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $MFT.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
        ref.seq = cpu_to_le16(MFT_REC_BADCLUST);
        inode = ntfs_iget5(sb, &ref, &NAME_BADCLUS);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $BadClus.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
        ref.seq = cpu_to_le16(MFT_REC_BITMAP);
        inode = ntfs_iget5(sb, &ref, &NAME_BITMAP);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $Bitmap.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
        /* Compute the MFT zone. */
        err = ntfs_refresh_zone(sbi);
        if (err)
-               goto out;
+               return err;
 
        /* Load $AttrDef. */
        ref.low = cpu_to_le32(MFT_REC_ATTR);
        ref.seq = cpu_to_le16(MFT_REC_ATTR);
        inode = ntfs_iget5(sbi->sb, &ref, &NAME_ATTRDEF);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $AttrDef -> %d", err);
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        if (inode->i_size < sizeof(struct ATTR_DEF_ENTRY)) {
        ref.seq = cpu_to_le16(MFT_REC_UPCASE);
        inode = ntfs_iget5(sb, &ref, &NAME_UPCASE);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load $UpCase.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
                /* Load $Secure. */
                err = ntfs_security_init(sbi);
                if (err)
-                       goto out;
+                       return err;
 
                /* Load $Extend. */
                err = ntfs_extend_init(sbi);
        ref.seq = cpu_to_le16(MFT_REC_ROOT);
        inode = ntfs_iget5(sb, &ref, &NAME_ROOT);
        if (IS_ERR(inode)) {
-               err = PTR_ERR(inode);
                ntfs_err(sb, "Failed to load root.");
-               inode = NULL;
-               goto out;
+               return PTR_ERR(inode);
        }
 
        ni = ntfs_i(inode);
 
        sb->s_root = d_make_root(inode);
-
-       if (!sb->s_root) {
-               err = -ENOMEM;
-               goto out;
-       }
+       if (!sb->s_root)
+               return -ENOMEM;
 
        fc->fs_private = NULL;
        fc->s_fs_info = NULL;
 
        return 0;
-
 out:
        iput(inode);
        return err;