論理ボリュームで使われる配置記述子には、 short_ad、long_ad、ext_ad の3種類が用意されています。
short_ad (Short Allocation Descriptor) は、 それが記載されているパーティション内における 先頭位置と大きさを記述します。
short_ad format
RBP | 大きさ | 型 | 名称 | 内容 |
0〜3 | 4 | unsigned long | Extent Length | 下記参照 |
4〜7 | 4 | unsigned long | Extent Position | パーティションの先頭からの位置 [LBN] |
Extent Length は次のとおりです。
Extent interpretation
bit | 内容 |
0〜29 | length of the extent (unsigned、[bytes]、特に規定が無ければ論理ブロック長の整数倍) |
30〜31 |
0: 場所が用意され、記録された 1: 場所が用意されたが、記録されていない 2: 場所は用意されず、記録もされてい 3: 配置記述子列の次の場所を意味する |
Extent Length の length of the extent は 30 ビットしかないため、 230=1,073,741,824 バイトまでしか表記できません。 UDF1.02 では、さらに論理ブロックサイズを引いた大きさが最大です。
DVD-ROM では、shore_ad をディレクトリや(分割)ファイル本体を示すのに使われます。 このときの length of the extent は、実際のファイルのバイト数です。
1,073,739,776=0x3FFFF800 バイトを超えるファイルは、分割し、 2つ以上の short_ad を使って配列として記述します。 実際には一続きのファイルでも同様です。 最後の short_ad 以外は length of the extent を論理ブロックの整数倍にします。