From 9c6a058880769a0e754a9c3a59c9793683aa6de3 Mon Sep 17 00:00:00 2001 From: Tyler Dauwalder Date: Tue, 2 Dec 2003 10:49:37 +0000 Subject: [PATCH] DiskStructures.{h,cpp} -> UdfStructures.{h,cpp} git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5528 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../udf/AllocationDescriptorList.h | 2 +- .../kernel/file_systems/udf/CachedBlock.h | 2 +- src/add-ons/kernel/file_systems/udf/Icb.h | 2 +- src/add-ons/kernel/file_systems/udf/Jamfile | 2 +- .../kernel/file_systems/udf/Recognition.cpp | 43 ++++++++----------- .../kernel/file_systems/udf/Recognition.h | 2 +- .../file_systems/udf/SparablePartition.h | 2 +- src/add-ons/kernel/file_systems/udf/Volume.h | 2 +- .../udf/drive_setup_addon/Jamfile | 4 +- .../kernel/file_systems/udf/udf_shell/Jamfile | 10 +++-- 10 files changed, 33 insertions(+), 38 deletions(-) diff --git a/src/add-ons/kernel/file_systems/udf/AllocationDescriptorList.h b/src/add-ons/kernel/file_systems/udf/AllocationDescriptorList.h index 1dfe873da2..899752336e 100644 --- a/src/add-ons/kernel/file_systems/udf/AllocationDescriptorList.h +++ b/src/add-ons/kernel/file_systems/udf/AllocationDescriptorList.h @@ -13,7 +13,7 @@ #include "kernel_cpp.h" #include "UdfDebug.h" -#include "DiskStructures.h" +#include "UdfStructures.h" #include "Icb.h" #include "Volume.h" diff --git a/src/add-ons/kernel/file_systems/udf/CachedBlock.h b/src/add-ons/kernel/file_systems/udf/CachedBlock.h index d67e76c1c9..15c4af7eb2 100644 --- a/src/add-ons/kernel/file_systems/udf/CachedBlock.h +++ b/src/add-ons/kernel/file_systems/udf/CachedBlock.h @@ -28,7 +28,7 @@ extern "C" { #include "kernel_cpp.h" #include "UdfDebug.h" -#include "DiskStructures.h" +#include "UdfStructures.h" #include "Volume.h" namespace Udf { diff --git a/src/add-ons/kernel/file_systems/udf/Icb.h b/src/add-ons/kernel/file_systems/udf/Icb.h index c4ef5a0c6f..a4f61179de 100644 --- a/src/add-ons/kernel/file_systems/udf/Icb.h +++ b/src/add-ons/kernel/file_systems/udf/Icb.h @@ -22,7 +22,7 @@ extern "C" { #include "UdfDebug.h" #include "CachedBlock.h" -#include "DiskStructures.h" +#include "UdfStructures.h" #include "SinglyLinkedList.h" namespace Udf { diff --git a/src/add-ons/kernel/file_systems/udf/Jamfile b/src/add-ons/kernel/file_systems/udf/Jamfile index 218823126f..e0f0ec48f4 100644 --- a/src/add-ons/kernel/file_systems/udf/Jamfile +++ b/src/add-ons/kernel/file_systems/udf/Jamfile @@ -32,13 +32,13 @@ R5KernelAddon udf : [ FDirName kernel file_systems udf ] : CS0String.cpp DirectoryIterator.cpp - DiskStructures.cpp Icb.cpp MetadataPartition.cpp PhysicalPartition.cpp Recognition.cpp SparablePartition.cpp UdfDebug.cpp + UdfStructures.cpp Utils.cpp VirtualPartition.cpp Volume.cpp diff --git a/src/add-ons/kernel/file_systems/udf/Recognition.cpp b/src/add-ons/kernel/file_systems/udf/Recognition.cpp index 334a1fb4cd..40a3c60f2c 100644 --- a/src/add-ons/kernel/file_systems/udf/Recognition.cpp +++ b/src/add-ons/kernel/file_systems/udf/Recognition.cpp @@ -41,33 +41,26 @@ Udf::udf_recognize(int device, off_t offset, off_t length, uint32 blockSize, length, blockSize)); // Check the block size - uint32 bitCount = 0; - for (int i = 0; i < 32; i++) { - // Zero out all bits except bit i - uint32 block = blockSize & (uint32(1) << i); - if (block) { - if (++bitCount > 1) { - PRINT(("Block size must be a power of two! (blockSize = %ld)\n", blockSize)); - RETURN(B_BAD_VALUE); - } else { - blockShift = i; - PRINT(("blockShift: %ld\n", blockShift)); - } - } - } - - // Check for a valid volume recognition sequence - status_t error = walk_volume_recognition_sequence(device, offset, blockSize, blockShift); - - // Now hunt down a volume descriptor sequence from one of - // the anchor volume pointers (if there are any). + status_t error = get_block_shift(blockSize, blockShift); if (!error) { - error = walk_anchor_volume_descriptor_sequences(device, offset, length, - blockSize, blockShift, - logicalVolumeDescriptor, - partitionDescriptors, - partitionDescriptorCount); + PRINT(("blockShift: %ld\n", blockShift)); + + // Check for a valid volume recognition sequence + error = walk_volume_recognition_sequence(device, offset, blockSize, blockShift); + + // Now hunt down a volume descriptor sequence from one of + // the anchor volume pointers (if there are any). + if (!error) { + error = walk_anchor_volume_descriptor_sequences(device, offset, length, + blockSize, blockShift, + logicalVolumeDescriptor, + partitionDescriptors, + partitionDescriptorCount); + } + } else { + PRINT(("Block size must be a positive power of two! (blockSize = %ld)\n", blockSize)); } + RETURN(error); } diff --git a/src/add-ons/kernel/file_systems/udf/Recognition.h b/src/add-ons/kernel/file_systems/udf/Recognition.h index 54e7782946..9595abc02f 100644 --- a/src/add-ons/kernel/file_systems/udf/Recognition.h +++ b/src/add-ons/kernel/file_systems/udf/Recognition.h @@ -10,7 +10,7 @@ /*! \file Recognition.h */ -#include "DiskStructures.h" +#include "UdfStructures.h" #include "UdfDebug.h" namespace Udf { diff --git a/src/add-ons/kernel/file_systems/udf/SparablePartition.h b/src/add-ons/kernel/file_systems/udf/SparablePartition.h index ce8f0a8768..8957642b1e 100644 --- a/src/add-ons/kernel/file_systems/udf/SparablePartition.h +++ b/src/add-ons/kernel/file_systems/udf/SparablePartition.h @@ -12,7 +12,7 @@ #include -#include "DiskStructures.h" +#include "UdfStructures.h" #include "Partition.h" #include "UdfDebug.h" diff --git a/src/add-ons/kernel/file_systems/udf/Volume.h b/src/add-ons/kernel/file_systems/udf/Volume.h index f58bb0b2ba..a469cbd40f 100644 --- a/src/add-ons/kernel/file_systems/udf/Volume.h +++ b/src/add-ons/kernel/file_systems/udf/Volume.h @@ -25,7 +25,7 @@ extern "C" { #include "UdfDebug.h" #include "CS0String.h" -#include "DiskStructures.h" +#include "UdfStructures.h" #include "Partition.h" namespace Udf { diff --git a/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile b/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile index 8f4d77ee00..22a6f3e302 100644 --- a/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile +++ b/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile @@ -36,16 +36,16 @@ SubDirHdrs [ FDirName $(OBOS_TOP) src add-ons kernel file_systems udf ] ; Addon i-udf-ds : [ FDirName drive_setup fs ] : udf-ds.cpp CS0String.cpp - DiskStructures.cpp Recognition.cpp UdfDebug.cpp + UdfStructures.cpp : false : ; SEARCH on [ FGristFiles - CS0String.cpp DiskStructures.cpp Recognition.cpp UdfDebug.cpp + CS0String.cpp Recognition.cpp UdfDebug.cpp UdfStructures.cpp ] = [ FDirName $(OBOS_TOP) src add-ons kernel file_systems udf ] ; rule InstallUDFDS diff --git a/src/tests/add-ons/kernel/file_systems/udf/udf_shell/Jamfile b/src/tests/add-ons/kernel/file_systems/udf/udf_shell/Jamfile index f6fca09bd6..a5c0414966 100644 --- a/src/tests/add-ons/kernel/file_systems/udf/udf_shell/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/udf/udf_shell/Jamfile @@ -17,18 +17,20 @@ SimpleTest udf_shell sysdep.c hexdump.c argv.c tracker.cpp udf.cpp - CS0String.cpp DirectoryIterator.cpp DiskStructures.cpp Icb.cpp + CS0String.cpp DirectoryIterator.cpp Icb.cpp MetadataPartition.cpp PhysicalPartition.cpp Recognition.cpp - UdfDebug.cpp Utils.cpp SparablePartition.cpp VirtualPartition.cpp Volume.cpp + UdfDebug.cpp UdfStructures.cpp Utils.cpp SparablePartition.cpp + VirtualPartition.cpp Volume.cpp : ; # Tell Jam where to find these sources SEARCH on [ FGristFiles udf.cpp - CS0String.cpp DirectoryIterator.cpp DiskStructures.cpp Icb.cpp + CS0String.cpp DirectoryIterator.cpp Icb.cpp MetadataPartition.cpp PhysicalPartition.cpp Recognition.cpp - UdfDebug.cpp Utils.cpp SparablePartition.cpp VirtualPartition.cpp Volume.cpp + UdfDebug.cpp UdfStructures.cpp Utils.cpp SparablePartition.cpp + VirtualPartition.cpp Volume.cpp ] = [ FDirName $(OBOS_TOP) src add-ons kernel file_systems udf ] ; SEARCH on [ FGristFiles