ntfs: Check for disk read error during FS probing
authorShao Miller <shao.miller@yrdsb.edu.on.ca>
Sat, 3 Sep 2011 19:40:45 +0000 (15:40 -0400)
committerPaulo Alcantara <pcacjr@gmail.com>
Sun, 11 Sep 2011 04:10:00 +0000 (04:10 +0000)
If reading the NTFS BIOS parameter block fails for any reason,
we will not attempt to continue to work towards finding an
NTFS filesystem on the disk/partition.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
core/fs/ntfs/ntfs.c

index 86d2e40..03dec41 100644 (file)
@@ -1125,12 +1125,15 @@ err_mrec:
 /* Initialize the filesystem metadata and return blk size in bits */
 static int ntfs_fs_init(struct fs_info *fs)
 {
+    int read_count;
     struct ntfs_bpb ntfs;
     struct ntfs_sb_info *sbi;
     struct disk *disk = fs->fs_dev->disk;
     uint8_t mft_record_shift;
 
-    disk->rdwr_sectors(disk, &ntfs, 0, 1, 0);
+    read_count = disk->rdwr_sectors(disk, &ntfs, 0, 1, 0);
+    if (!read_count)
+       return -1;
 
     /* sanity check */
     if (!ntfs_check_sb_fields(&ntfs))