浏览代码

NTFS: Minor cleanup: Define and use NTFS_MAX_CLUSTER_SIZE constant instead
of hard coded 0x10000 in fs/ntfs/super.c.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>

Anton Altaparmakov 20 年之前
父节点
当前提交
7fafb8b634
共有 3 个文件被更改,包括 8 次插入3 次删除
  1. 2 0
      fs/ntfs/ChangeLog
  2. 3 0
      fs/ntfs/ntfs.h
  3. 3 3
      fs/ntfs/super.c

+ 2 - 0
fs/ntfs/ChangeLog

@@ -111,6 +111,8 @@ ToDo/Notes:
 	  refusing the mount.  Thanks to Bernd Casimir for pointing this
 	  refusing the mount.  Thanks to Bernd Casimir for pointing this
 	  problem out.
 	  problem out.
 	- Update attribute definition handling.
 	- Update attribute definition handling.
+	- Add NTFS_MAX_CLUSTER_SIZE and NTFS_MAX_PAGES_PER_CLUSTER constants.
+	- Use NTFS_MAX_CLUSTER_SIZE in super.c instead of hard coding 0x10000.
 
 
 2.1.22 - Many bug and race fixes and error handling improvements.
 2.1.22 - Many bug and race fixes and error handling improvements.
 
 

+ 3 - 0
fs/ntfs/ntfs.h

@@ -31,6 +31,7 @@
 #include <linux/fs.h>
 #include <linux/fs.h>
 #include <linux/nls.h>
 #include <linux/nls.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
+#include <linux/pagemap.h>
 
 
 #include "types.h"
 #include "types.h"
 #include "volume.h"
 #include "volume.h"
@@ -42,6 +43,8 @@ typedef enum {
 	NTFS_SB_MAGIC		= 0x5346544e,	/* 'NTFS' */
 	NTFS_SB_MAGIC		= 0x5346544e,	/* 'NTFS' */
 	NTFS_MAX_NAME_LEN	= 255,
 	NTFS_MAX_NAME_LEN	= 255,
 	NTFS_MAX_ATTR_NAME_LEN	= 255,
 	NTFS_MAX_ATTR_NAME_LEN	= 255,
+	NTFS_MAX_CLUSTER_SIZE	= 64 * 1024,	/* 64kiB */
+	NTFS_MAX_PAGES_PER_CLUSTER = NTFS_MAX_CLUSTER_SIZE / PAGE_CACHE_SIZE,
 } NTFS_CONSTANTS;
 } NTFS_CONSTANTS;
 
 
 /* Global variables. */
 /* Global variables. */

+ 3 - 3
fs/ntfs/super.c

@@ -561,9 +561,9 @@ static BOOL is_boot_sector_ntfs(const struct super_block *sb,
 	default:
 	default:
 		goto not_ntfs;
 		goto not_ntfs;
 	}
 	}
-	/* Check the cluster size is not above 65536 bytes. */
+	/* Check the cluster size is not above the maximum (64kiB). */
 	if ((u32)le16_to_cpu(b->bpb.bytes_per_sector) *
 	if ((u32)le16_to_cpu(b->bpb.bytes_per_sector) *
-			b->bpb.sectors_per_cluster > 0x10000)
+			b->bpb.sectors_per_cluster > NTFS_MAX_CLUSTER_SIZE)
 		goto not_ntfs;
 		goto not_ntfs;
 	/* Check reserved/unused fields are really zero. */
 	/* Check reserved/unused fields are really zero. */
 	if (le16_to_cpu(b->bpb.reserved_sectors) ||
 	if (le16_to_cpu(b->bpb.reserved_sectors) ||
@@ -2585,7 +2585,7 @@ err_out_now:
  */
  */
 kmem_cache_t *ntfs_name_cache;
 kmem_cache_t *ntfs_name_cache;
 
 
-/* Slab caches for efficient allocation/deallocation of of inodes. */
+/* Slab caches for efficient allocation/deallocation of inodes. */
 kmem_cache_t *ntfs_inode_cache;
 kmem_cache_t *ntfs_inode_cache;
 kmem_cache_t *ntfs_big_inode_cache;
 kmem_cache_t *ntfs_big_inode_cache;