05.07.2014 Views

here - OSTA - Optical Storage Technology Association

here - OSTA - Optical Storage Technology Association

here - OSTA - Optical Storage Technology Association

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!