diff options
-rw-r--r-- | fs/ntfs/ChangeLog | 2 | ||||
-rw-r--r-- | fs/ntfs/ntfs.h | 3 | ||||
-rw-r--r-- | fs/ntfs/super.c | 6 |
3 files changed, 8 insertions, 3 deletions
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog index 52f868a9662b..788e3bd2528b 100644 --- a/fs/ntfs/ChangeLog +++ b/fs/ntfs/ChangeLog | |||
@@ -111,6 +111,8 @@ ToDo/Notes: | |||
111 | refusing the mount. Thanks to Bernd Casimir for pointing this | 111 | refusing the mount. Thanks to Bernd Casimir for pointing this |
112 | problem out. | 112 | problem out. |
113 | - Update attribute definition handling. | 113 | - Update attribute definition handling. |
114 | - Add NTFS_MAX_CLUSTER_SIZE and NTFS_MAX_PAGES_PER_CLUSTER constants. | ||
115 | - Use NTFS_MAX_CLUSTER_SIZE in super.c instead of hard coding 0x10000. | ||
114 | 116 | ||
115 | 2.1.22 - Many bug and race fixes and error handling improvements. | 117 | 2.1.22 - Many bug and race fixes and error handling improvements. |
116 | 118 | ||
diff --git a/fs/ntfs/ntfs.h b/fs/ntfs/ntfs.h index e85f6e928b1e..446b5014115c 100644 --- a/fs/ntfs/ntfs.h +++ b/fs/ntfs/ntfs.h | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/fs.h> | 31 | #include <linux/fs.h> |
32 | #include <linux/nls.h> | 32 | #include <linux/nls.h> |
33 | #include <linux/smp.h> | 33 | #include <linux/smp.h> |
34 | #include <linux/pagemap.h> | ||
34 | 35 | ||
35 | #include "types.h" | 36 | #include "types.h" |
36 | #include "volume.h" | 37 | #include "volume.h" |
@@ -42,6 +43,8 @@ typedef enum { | |||
42 | NTFS_SB_MAGIC = 0x5346544e, /* 'NTFS' */ | 43 | NTFS_SB_MAGIC = 0x5346544e, /* 'NTFS' */ |
43 | NTFS_MAX_NAME_LEN = 255, | 44 | NTFS_MAX_NAME_LEN = 255, |
44 | NTFS_MAX_ATTR_NAME_LEN = 255, | 45 | NTFS_MAX_ATTR_NAME_LEN = 255, |
46 | NTFS_MAX_CLUSTER_SIZE = 64 * 1024, /* 64kiB */ | ||
47 | NTFS_MAX_PAGES_PER_CLUSTER = NTFS_MAX_CLUSTER_SIZE / PAGE_CACHE_SIZE, | ||
45 | } NTFS_CONSTANTS; | 48 | } NTFS_CONSTANTS; |
46 | 49 | ||
47 | /* Global variables. */ | 50 | /* Global variables. */ |
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c index 6f752ea765c3..8e50aa929f1c 100644 --- a/fs/ntfs/super.c +++ b/fs/ntfs/super.c | |||
@@ -561,9 +561,9 @@ static BOOL is_boot_sector_ntfs(const struct super_block *sb, | |||
561 | default: | 561 | default: |
562 | goto not_ntfs; | 562 | goto not_ntfs; |
563 | } | 563 | } |
564 | /* Check the cluster size is not above 65536 bytes. */ | 564 | /* Check the cluster size is not above the maximum (64kiB). */ |
565 | if ((u32)le16_to_cpu(b->bpb.bytes_per_sector) * | 565 | if ((u32)le16_to_cpu(b->bpb.bytes_per_sector) * |
566 | b->bpb.sectors_per_cluster > 0x10000) | 566 | b->bpb.sectors_per_cluster > NTFS_MAX_CLUSTER_SIZE) |
567 | goto not_ntfs; | 567 | goto not_ntfs; |
568 | /* Check reserved/unused fields are really zero. */ | 568 | /* Check reserved/unused fields are really zero. */ |
569 | if (le16_to_cpu(b->bpb.reserved_sectors) || | 569 | if (le16_to_cpu(b->bpb.reserved_sectors) || |
@@ -2585,7 +2585,7 @@ err_out_now: | |||
2585 | */ | 2585 | */ |
2586 | kmem_cache_t *ntfs_name_cache; | 2586 | kmem_cache_t *ntfs_name_cache; |
2587 | 2587 | ||
2588 | /* Slab caches for efficient allocation/deallocation of of inodes. */ | 2588 | /* Slab caches for efficient allocation/deallocation of inodes. */ |
2589 | kmem_cache_t *ntfs_inode_cache; | 2589 | kmem_cache_t *ntfs_inode_cache; |
2590 | kmem_cache_t *ntfs_big_inode_cache; | 2590 | kmem_cache_t *ntfs_big_inode_cache; |
2591 | 2591 | ||