]> git.proxmox.com Git - grub2.git/commitdiff
* grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 25 Apr 2012 09:56:24 +0000 (11:56 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 25 Apr 2012 09:56:24 +0000 (11:56 +0200)
as long as cluster size is multiple of 512 bytes.

ChangeLog
grub-core/fs/ntfs.c

index 77f879d8c7cf3edcc941489e97e209e0f2dda8e8..6b017d1a8cd3c92d7bdc3d0579e582a1be05a97e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
+       as long as cluster size is multiple of 512 bytes.
+
 2012-04-23  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * util/grub-mkrescue.in: Fix locale directory.
index 31c01f3d5aba9264508f65c33c92da247da8a547..30293ddfe95bb2f68eb7627086a4e8da341aecb1 100644 (file)
@@ -948,9 +948,9 @@ grub_ntfs_mount (grub_disk_t disk)
   if (grub_memcmp ((char *) &bpb.oem_name, "NTFS", 4))
     goto fail;
 
-  data->spc = (bpb.sectors_per_cluster
-              * (grub_le_to_cpu16 (bpb.bytes_per_sector)
-                 >> GRUB_NTFS_BLK_SHR));
+  data->spc = (((grub_uint32_t) bpb.sectors_per_cluster
+               * (grub_uint32_t) grub_le_to_cpu16 (bpb.bytes_per_sector))
+              >> GRUB_NTFS_BLK_SHR);
 
   if (bpb.clusters_per_mft > 0)
     data->mft_size = data->spc * bpb.clusters_per_mft;