aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hpfs/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/hpfs/super.c')
-rw-r--r--fs/hpfs/super.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c
index 68a9bed05628..a561591896bd 100644
--- a/fs/hpfs/super.c
+++ b/fs/hpfs/super.c
@@ -628,6 +628,9 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
628 goto bail4; 628 goto bail4;
629 } 629 }
630 630
631 if (spareblock->n_spares_used)
632 hpfs_load_hotfix_map(s, spareblock);
633
631 /* Load bitmap directory */ 634 /* Load bitmap directory */
632 if (!(sbi->sb_bmp_dir = hpfs_load_bitmap_directory(s, le32_to_cpu(superblock->bitmaps)))) 635 if (!(sbi->sb_bmp_dir = hpfs_load_bitmap_directory(s, le32_to_cpu(superblock->bitmaps))))
633 goto bail4; 636 goto bail4;
@@ -647,18 +650,6 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
647 mark_buffer_dirty(bh2); 650 mark_buffer_dirty(bh2);
648 } 651 }
649 652
650 if (spareblock->hotfixes_used || spareblock->n_spares_used) {
651 if (errs >= 2) {
652 pr_err("Hotfixes not supported here, try chkdsk\n");
653 mark_dirty(s, 0);
654 goto bail4;
655 }
656 hpfs_error(s, "hotfixes not supported here, try chkdsk");
657 if (errs == 0)
658 pr_err("Proceeding, but your filesystem will be probably corrupted by this driver...\n");
659 else
660 pr_err("This driver may read bad files or crash when operating on disk with hotfixes.\n");
661 }
662 if (le32_to_cpu(spareblock->n_dnode_spares) != le32_to_cpu(spareblock->n_dnode_spares_free)) { 653 if (le32_to_cpu(spareblock->n_dnode_spares) != le32_to_cpu(spareblock->n_dnode_spares_free)) {
663 if (errs >= 2) { 654 if (errs >= 2) {
664 pr_err("Spare dnodes used, try chkdsk\n"); 655 pr_err("Spare dnodes used, try chkdsk\n");