here - OSTA - Optical Storage Technology Association
here - OSTA - Optical Storage Technology Association
here - OSTA - Optical Storage Technology Association
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.2.13.6 Recommended procedure for reclaiming space from the Metadata<br />
Partition<br />
Blocks allocated to the Metadata File, and its mirror, shall only be returned to the volume<br />
in one of the following two ways:<br />
• Truncation of the Metadata File and its mirror.<br />
• Marking the AD(s) for a region of the Metadata file, and it’s mirror, as sparse (not<br />
allocated) and setting the corresponding bits in the Metadata Bitmap file to zero,<br />
indicating these blocks are not available for use.<br />
Any region to be removed shall:<br />
• Currently contain no referenced metadata (i.e. all corresponding bits in the<br />
Metadata Bitmap file shall already be set (one)).<br />
• Match the size/alignment restrictions laid down in section 2.2.13.1.<br />
In the truncation case (metadata partition being truncated):<br />
1. Update the SBD in the Metadata Bitmap File to reduce the bitmap size.<br />
2. Update the Metadata Bitmap File Entry Information Length to reflect the<br />
decreased bitmap size.<br />
3. Update the Metadata File, and mirror, file entry Information Length fields to<br />
‘remove’ the region.<br />
4. Mark the de-allocated blocks as available in the partition unallocated space<br />
bitmap.<br />
In the mark sparse case (region in middle of metadata partition being removed):<br />
1. Clear the corresponding bits in the Metadata Bitmap file to zero.<br />
2. Generate sparse (not allocated) Allocation Descriptor(s) in the Metadata File (and<br />
its mirror) for the region being de-allocated.<br />
3. Mark the de-allocated blocks as available in the partition Unallocated Space<br />
Bitmap.<br />
2.2.122.2.14 Partition Descriptor<br />
struct PartitionDescriptor { /* ECMA 167 3/10.5 */<br />
struct tag<br />
DescriptorTag;<br />
Uint32<br />
VolumeDescriptorSequenceNumber;<br />
Uint16<br />
PartitionFlags;<br />
Uint16<br />
PartitionNumber;<br />
struct EntityID PartitionContents;<br />
byte<br />
PartitionContentsUse[128];<br />
Uint32<br />
AccessType;<br />
Uint32<br />
PartitionStartingLocation;<br />
Uint32<br />
PartitionLength;<br />
UDF 2.01<br />
46<br />
March50 April