if (vol->cluster_size <= index_block_size) {
index_vcn_size_bits = vol->cluster_size_bits;
} else {
- index_vcn_size_bits = vol->sector_size_bits;
+ index_vcn_size_bits = NTFS_BLOCK_SIZE_BITS;
}
/* Get the starting vcn of the index_block holding the child node. */
if (vol->cluster_size <= index_block_size) {
index_vcn_size_bits = vol->cluster_size_bits;
} else {
- index_vcn_size_bits = vol->sector_size_bits;
+ index_vcn_size_bits = NTFS_BLOCK_SIZE_BITS;
}
/* Are we jumping straight into the index allocation attribute? */
else
ir->clusters_per_index_block =
ni->vol->indx_record_size >>
- ni->vol->sector_size_bits;
+ NTFS_BLOCK_SIZE_BITS;
ir->index.entries_offset = cpu_to_le32(sizeof(INDEX_HEADER));
ir->index.index_length = cpu_to_le32(index_len);
ir->index.allocated_size = cpu_to_le32(index_len);
if (ni->vol->cluster_size <= icx->block_size)
icx->vcn_size_bits = ni->vol->cluster_size_bits;
else
- icx->vcn_size_bits = ni->vol->sector_size_bits;
+ icx->vcn_size_bits = NTFS_BLOCK_SIZE_BITS;
/* get the appropriate collation function */
icx->collate = ntfs_get_collate_function(ir->collation_rule);
if (!icx->collate) {
/**
* mkntfs - Part of the Linux-NTFS project.
*
- * Copyright (c) 2000-2007 Anton Altaparmakov
+ * Copyright (c) 2000-2011 Anton Altaparmakov
* Copyright (c) 2001-2005 Richard Russon
* Copyright (c) 2002-2006 Szabolcs Szakacsits
* Copyright (c) 2005 Erik Sornes
free(r);
return -EINVAL;
}
- r->clusters_per_index_block = index_block_size /
- opts.sector_size;
+ r->clusters_per_index_block = index_block_size
+ >> NTFS_BLOCK_SIZE_BITS;
}
memset(&r->reserved, 0, sizeof(r->reserved));
r->index.entries_offset = const_cpu_to_le32(sizeof(INDEX_HEADER));
printf("\tVolume Version: %u.%u\n", vol->major_ver, vol->minor_ver);
printf("\tSector Size: %hu\n", vol->sector_size);
printf("\tCluster Size: %u\n", (unsigned int)vol->cluster_size);
+ printf("\tIndex Block Size: %u\n", (unsigned int)vol->indx_record_size);
printf("\tVolume Size in Clusters: %lld\n",
(long long)vol->nr_clusters);
printf("\tIndex Block Size:\t %u (0x%x)\n",
(unsigned)le32_to_cpu(index_root->index_block_size),
(unsigned)le32_to_cpu(index_root->index_block_size));
- printf("\tClusters Per Block:\t %u (0x%x)\n",
+ if (le32_to_cpu(index_root->index_block_size) < ni->vol->cluster_size)
+ printf("\t512-byte Units Per Block:\t %u (0x%x)\n",
+ (unsigned)index_root->clusters_per_index_block,
+ (unsigned)index_root->clusters_per_index_block);
+ else
+ printf("\tClusters Per Block:\t %u (0x%x)\n",
(unsigned)index_root->clusters_per_index_block,
(unsigned)index_root->clusters_per_index_block);