udf: fixes 64 bit warnings

This commit is contained in:
Jérôme Duval 2013-05-09 15:44:10 +02:00
parent 5a58ea80cf
commit 7e5b0f9649
10 changed files with 108 additions and 90 deletions

View File

@ -101,7 +101,7 @@ status_t
AllocationDescriptorList<Accessor>::FindExtent(off_t start,
long_address *extent, bool *isEmpty)
{
TRACE(("AllocationDescriptorList<>::FindExtent: start: %Ld, "
TRACE(("AllocationDescriptorList<>::FindExtent: start: %" B_PRIdOFF ", "
"extent: %p, isEmpty: %p\n", start, extent, isEmpty));
off_t startBlock = start >> fVolume->BlockShift();
@ -132,7 +132,8 @@ AllocationDescriptorList<Accessor>::FindExtent(off_t start,
}
} else {
TRACE_ERROR(("AllocationDescriptorList<>::FindExtent: "
"Descriptor #%ld found NULL\n", _DescriptorNumber()));
"Descriptor #%" B_PRId32 " found NULL\n",
_DescriptorNumber()));
status = B_ERROR;
break;
}

View File

@ -22,9 +22,9 @@ DirectoryIterator::GetNextEntry(char *name, uint32 *length, ino_t *id)
if (!id || !name || !length)
return B_BAD_VALUE;
TRACE(("DirectoryIterator::GetNextEntry: name = %p, length = %ld, "
"id = %p, position = %Ld, parent length = %Ld\n", name, *length, id,
fPosition, Parent()->Length()));
TRACE(("DirectoryIterator::GetNextEntry: name = %p, length = %" B_PRIu32
", id = %p, position = %" B_PRIdOFF ", parent length = %" B_PRIu64
"\n", name, *length, id, fPosition, Parent()->Length()));
status_t status = B_OK;
if (fAtBeginning) {
@ -62,7 +62,8 @@ DirectoryIterator::GetNextEntry(char *name, uint32 *length, ino_t *id)
} else {
UdfString string(entry->id(), entry->id_length());
TRACE(("DirectoryIterator::GetNextEntry: UfdString id == `%s', "
"length = %lu\n", string.Utf8(), string.Utf8Length()));
"length = %" B_PRIu32 "\n", string.Utf8(),
string.Utf8Length()));
DUMP(entry->icb());
sprintf(name, "%s", string.Utf8());
*length = string.Utf8Length();
@ -111,9 +112,9 @@ Icb::Icb(Volume *volume, long_address address)
fFileCache(NULL),
fFileMap(NULL)
{
TRACE(("Icb::Icb: volume = %p, address(block = %ld, partition = %d, "
"length = %ld)\n", volume, address.block(), address.partition(),
address.length()));
TRACE(("Icb::Icb: volume = %p, address(block = %" B_PRIu32 ", partition = "
"%d, length = %" B_PRIu32 ")\n", volume, address.block(),
address.partition(), address.length()));
if (volume == NULL)
fInitStatus = B_BAD_VALUE;
@ -142,7 +143,8 @@ Icb::Icb(Volume *volume, long_address address)
}
fInitStatus = status;
TRACE(("Icb::Icb: status = 0x%lx, `%s'\n", status, strerror(status)));
TRACE(("Icb::Icb: status = 0x%" B_PRIx32 ", `%s'\n", status,
strerror(status)));
}
@ -222,7 +224,7 @@ Icb::FindBlock(uint32 logicalBlock, off_t &block, bool &recorded)
return B_ERROR;
}
DEBUG_INIT_ETC("Icb", ("pos: %lld", pos));
DEBUG_INIT_ETC("Icb", ("pos: %" B_PRIdOFF, pos));
status_t status = B_OK;
long_address extent;
@ -237,8 +239,9 @@ Icb::FindBlock(uint32 logicalBlock, off_t &block, bool &recorded)
ShortDescriptorAccessor(fPartition));
status = list.FindExtent(pos, &extent, &isEmpty);
if (status != B_OK) {
TRACE_ERROR(("Icb::FindBlock: error finding extent for offset %Ld. "
"status = 0x%lx `%s'\n", pos, status, strerror(status)));
TRACE_ERROR(("Icb::FindBlock: error finding extent for offset "
"%" B_PRIdOFF ". status = 0x%" B_PRIx32 " `%s'\n", pos, status,
strerror(status)));
}
break;
}
@ -249,8 +252,9 @@ Icb::FindBlock(uint32 logicalBlock, off_t &block, bool &recorded)
AllocationDescriptorList<LongDescriptorAccessor> list(this);
status = list.FindExtent(pos, &extent, &isEmpty);
if (status != B_OK) {
TRACE_ERROR(("Icb::FindBlock: error finding extent for offset %Ld. "
"status = 0x%lx `%s'\n", pos, status, strerror(status)));
TRACE_ERROR(("Icb::FindBlock: error finding extent for offset "
"%" B_PRIdOFF ". status = 0x%" B_PRIx32 " `%s'\n", pos,
status, strerror(status)));
}
break;
}
@ -281,7 +285,7 @@ Icb::FindBlock(uint32 logicalBlock, off_t &block, bool &recorded)
if (status == B_OK) {
block = extent.block();
recorded = extent.type() == EXTENT_TYPE_RECORDED;
TRACE(("Icb::FindBlock: block %lld\n", block));
TRACE(("Icb::FindBlock: block %" B_PRIdOFF "\n", block));
}
return status;
}
@ -290,7 +294,7 @@ Icb::FindBlock(uint32 logicalBlock, off_t &block, bool &recorded)
status_t
Icb::Read(off_t pos, void *buffer, size_t *length, uint32 *block)
{
TRACE(("Icb::Read: pos = %Ld, buffer = %p, length = (%p)->%ld\n",
TRACE(("Icb::Read: pos = %" B_PRIdOFF ", buffer = %p, length = (%p)->%ld\n",
pos, buffer, length, (length ? *length : 0)));
if (!buffer || !length || pos < 0)
@ -356,8 +360,8 @@ template <class DescriptorList>
status_t
Icb::_Read(DescriptorList &list, off_t pos, void *_buffer, size_t *length, uint32 *block)
{
TRACE(("Icb::_Read(): list = %p, pos = %Ld, buffer = %p, length = %ld\n",
&list, pos, _buffer, (length ? *length : 0)));
TRACE(("Icb::_Read(): list = %p, pos = %" B_PRIdOFF ", buffer = %p, "
"length = %ld\n", &list, pos, _buffer, (length ? *length : 0)));
uint64 bytesLeftInFile = uint64(pos) > Length() ? 0 : Length() - pos;
size_t bytesLeft = (*length >= bytesLeftInFile) ? bytesLeftInFile : *length;
@ -370,19 +374,22 @@ Icb::_Read(DescriptorList &list, off_t pos, void *_buffer, size_t *length, uint3
while (bytesLeft > 0) {
TRACE(("Icb::_Read(): pos: %Ld, bytesLeft: %ld\n", pos, bytesLeft));
TRACE(("Icb::_Read(): pos: %" B_PRIdOFF ", bytesLeft: %ld\n", pos,
bytesLeft));
long_address extent;
bool isEmpty = false;
status = list.FindExtent(pos, &extent, &isEmpty);
if (status != B_OK) {
TRACE_ERROR(("Icb::_Read: error finding extent for offset %Ld. "
"status = 0x%lx `%s'\n", pos, status, strerror(status)));
TRACE_ERROR(("Icb::_Read: error finding extent for offset %"
B_PRIdOFF ". status = 0x%" B_PRIx32 " `%s'\n", pos, status,
strerror(status)));
break;
}
TRACE(("Icb::_Read(): found extent for offset %Ld: (block: %ld, "
"partition: %d, length: %ld, type: %d)\n", pos, extent.block(),
extent.partition(), extent.length(), extent.type()));
TRACE(("Icb::_Read(): found extent for offset %" B_PRIdOFF ": (block: "
"%" B_PRIu32 ", partition: %d, length: %" B_PRIu32 ", type: %d)\n",
pos, extent.block(), extent.partition(), extent.length(),
extent.type()));
switch (extent.type()) {
case EXTENT_TYPE_RECORDED:
@ -421,8 +428,8 @@ Icb::_Read(DescriptorList &list, off_t pos, void *_buffer, size_t *length, uint3
if (extent.length() < readLength)
readLength = extent.length();
TRACE(("Icb::_Read: reading block. offset = %Ld, length: %ld\n",
blockOffset, readLength));
TRACE(("Icb::_Read: reading block. offset = %" B_PRIdOFF
", length: %ld\n", blockOffset, readLength));
if (isEmpty) {
TRACE(("Icb::_Read: reading %ld empty bytes as zeros\n",
@ -436,8 +443,8 @@ Icb::_Read(DescriptorList &list, off_t pos, void *_buffer, size_t *length, uint3
break;
}
TRACE(("Icb::_Read: %ld bytes from disk block %Ld using "
"block_cache_get_etc()\n", readLength, diskBlock));
TRACE(("Icb::_Read: %ld bytes from disk block %" B_PRIdOFF " using"
" block_cache_get_etc()\n", readLength, diskBlock));
uint8 *data = (uint8*)block_cache_get_etc(volume->BlockCache(),
diskBlock, 0, readLength);
if (data == NULL)
@ -530,7 +537,7 @@ Icb::_GetFileMap(DescriptorList &list, off_t offset, size_t size,
size -= length;
index++;
if (index >= max || size <= vecs[index - 1].length
if (index >= max || (off_t)size <= vecs[index - 1].length
|| offset >= (off_t)Length()) {
*count = index;
return index >= max ? B_BUFFER_OVERFLOW : B_OK;

View File

@ -11,8 +11,8 @@ PhysicalPartition::PhysicalPartition(uint16 number, uint32 start, uint32 length)
fStart(start),
fLength(length)
{
TRACE(("PhysicalPartition::PhysicalPartition: number = %d, start = %lu,"
"length = %lu\n", number, start, length));
TRACE(("PhysicalPartition::PhysicalPartition: number = %d, start = %"
B_PRIu32 ",length = %" B_PRIu32 "\n", number, start, length));
}
@ -31,15 +31,15 @@ PhysicalPartition::~PhysicalPartition()
status_t
PhysicalPartition::MapBlock(uint32 logicalBlock, off_t &physicalBlock)
{
TRACE(("PhysicalPartition::MapBlock: %ld\n", logicalBlock));
TRACE(("PhysicalPartition::MapBlock: %" B_PRIu32 "\n", logicalBlock));
if (logicalBlock >= fLength) {
TRACE_ERROR(("PhysicalPartition::MapBlock: block %ld invalid,"
"length = %ld\n", logicalBlock, fLength));
TRACE_ERROR(("PhysicalPartition::MapBlock: block %" B_PRIu32 " invalid"
",length = %" B_PRIu32 "\n", logicalBlock, fLength));
return B_BAD_ADDRESS;
} else {
physicalBlock = fStart + logicalBlock;
TRACE(("PhysicalPartition::MapBlock: block %ld mapped to %Ld\n",
logicalBlock, physicalBlock));
TRACE(("PhysicalPartition::MapBlock: block %" B_PRIu32 " mapped to %"
B_PRIdOFF "\n", logicalBlock, physicalBlock));
return B_OK;
}
}

View File

@ -54,23 +54,24 @@ udf_recognize(int device, off_t offset, off_t length, uint32 blockSize,
partition_descriptor partitionDescriptors[],
uint8 &partitionDescriptorCount)
{
TRACE(("udf_recognize: device: = %d, offset = %Ld, length = %Ld, "
"blockSize = %ld, ", device, offset, length, blockSize));
TRACE(("udf_recognize: device: = %d, offset = %" B_PRIdOFF ", length = %"
B_PRIdOFF ", blockSize = %" B_PRIu32 "\n", device, offset, length,
blockSize));
// Check the block size
status_t status = get_block_shift(blockSize, blockShift);
if (status != B_OK) {
TRACE_ERROR(("\nudf_recognize: Block size must be a positive power of "
"two! (blockSize = %ld)\n", blockSize));
"two! (blockSize = %" B_PRIu32 ")\n", blockSize));
return status;
}
TRACE(("blockShift: %ld\n", blockShift));
TRACE(("blockShift: %" B_PRIu32 "\n", blockShift));
// Check for a valid volume recognition sequence
status = walk_volume_recognition_sequence(device, offset, blockSize,
blockShift);
if (status != B_OK) {
TRACE_ERROR(("udf_recognize: Invalid sequence. status = %ld\n", status));
TRACE_ERROR(("udf_recognize: Invalid sequence. status = %" B_PRId32
"\n", status));
return status;
}
// Now hunt down a volume descriptor sequence from one of
@ -80,8 +81,8 @@ udf_recognize(int device, off_t offset, off_t length, uint32 blockSize,
logicalVolumeDescriptor, partitionDescriptors,
partitionDescriptorCount);
if (status != B_OK) {
TRACE_ERROR(("udf_recognize: cannot find volume descriptor. status = %ld\n",
status));
TRACE_ERROR(("udf_recognize: cannot find volume descriptor. status = %"
B_PRId32 "\n", status));
return status;
}
// Now walk the integrity sequence and make sure the last integrity
@ -90,7 +91,7 @@ udf_recognize(int device, off_t offset, off_t length, uint32 blockSize,
logicalVolumeDescriptor.integrity_sequence_extent());
if (status != B_OK) {
TRACE_ERROR(("udf_recognize: last integrity descriptor not closed. "
"status = %ld\n", status));
"status = %" B_PRId32 "\n", status));
return status;
}
@ -106,9 +107,9 @@ status_t
walk_volume_recognition_sequence(int device, off_t offset, uint32 blockSize,
uint32 blockShift)
{
TRACE(("walk_volume_recognition_sequence: device = %d, offset = %Ld, "
"blockSize = %ld, blockShift = %lu\n", device, offset, blockSize,
blockShift));
TRACE(("walk_volume_recognition_sequence: device = %d, offset = %"
B_PRIdOFF ", blockSize = %" B_PRIu32 ", blockShift = %" B_PRIu32 "\n",
device, offset, blockSize, blockShift));
// vrs starts at block 16. Each volume structure descriptor (vsd)
// should be one block long. We're expecting to find 0 or more iso9660
@ -125,8 +126,8 @@ walk_volume_recognition_sequence(int device, off_t offset, uint32 blockSize,
bool foundECMA168 = false;
for (uint32 block = 16; true; block++) {
off_t address = (offset + block) << blockShift;
TRACE(("walk_volume_recognition_sequence: block = %ld, "
"address = %Ld, ", block, address));
TRACE(("walk_volume_recognition_sequence: block = %" B_PRIu32 ", "
"address = %" B_PRIdOFF ", ", block, address));
ssize_t bytesRead = read_pos(device, address, chunk.Data(), blockSize);
if (bytesRead == (ssize_t)blockSize) {
volume_structure_descriptor_header* descriptor
@ -155,8 +156,8 @@ walk_volume_recognition_sequence(int device, off_t offset, uint32 blockSize,
break;
}
} else {
TRACE_ERROR(("read_pos(pos:%Ld, len:%ld) failed with: 0x%lx\n", address,
blockSize, bytesRead));
TRACE_ERROR(("read_pos(pos:%" B_PRIdOFF ", len:%" B_PRIu32 ") "
"failed with: 0x%lx\n", address, blockSize, bytesRead));
break;
}
}

View File

@ -19,8 +19,9 @@ SparablePartition::SparablePartition(uint16 number, uint32 start, uint32 length,
fTableCount(tableCount),
fInitStatus(B_NO_INIT)
{
TRACE(("SparablePartition::SparablePartition: number = %d, start = %lu,"
"length = %lu, packetLength = %d\n", number, start, length, packetLength));
TRACE(("SparablePartition::SparablePartition: number = %d, start = %"
B_PRIu32 ",length = %" B_PRIu32 ", packetLength = %d\n", number, start,
length, packetLength));
status_t status = (0 < TableCount() && TableCount() <= kMaxSparingTableCount)
? B_OK : B_BAD_VALUE;

View File

@ -147,8 +147,8 @@ UdfString::SetTo(const char *utf8)
// First copy the utf8 string
fUtf8String = new(nothrow) char[length + 1];
if (fUtf8String == NULL) {
TRACE_ERROR(("UdfString::SetTo: fUtf8String[%ld] allocation failed\n",
length + 1));
TRACE_ERROR(("UdfString::SetTo: fUtf8String[%" B_PRIu32
"] allocation failed\n", length + 1));
return;
}
@ -159,8 +159,8 @@ UdfString::SetTo(const char *utf8)
// or have to use burly 16-bit unicode.
uint32 *raw = new(nothrow) uint32[length];
if (raw == NULL) {
TRACE_ERROR(("UdfString::SetTo: uint32 raw[%ld] temporary string "
"allocation failed\n", length));
TRACE_ERROR(("UdfString::SetTo: uint32 raw[%" B_PRIu32 "] temporary"
" string allocation failed\n", length));
_Clear();
return;
}
@ -201,8 +201,8 @@ UdfString::SetTo(const char *utf8)
for (uint32 i = 0; i < rawLength; i++)
fCs0String[i + 1] = raw[i] % 256;
} else {
TRACE_ERROR(("UdfString::SetTo: fCs0String[%ld] allocation failed\n",
fCs0Length));
TRACE_ERROR(("UdfString::SetTo: fCs0String[%" B_PRIu32
"] allocation failed\n", fCs0Length));
_Clear();
return;
}
@ -221,8 +221,8 @@ UdfString::SetTo(const char *utf8)
fCs0String[pos++] = low;
}
} else {
TRACE_ERROR(("UdfString::SetTo: fCs0String[%ld] allocation failed\n",
fCs0Length));
TRACE_ERROR(("UdfString::SetTo: fCs0String[%" B_PRIu32
"] allocation failed\n", fCs0Length));
_Clear();
return;
}

View File

@ -61,7 +61,8 @@ UdfString::UdfString(const array<char, length> &dString)
: fCs0String(NULL)
, fUtf8String(NULL)
{
TRACE(("UdfString::UdfString: dString.length(): %ld", dString.length()));
TRACE(("UdfString::UdfString: dString.length(): %" B_PRIu32,
dString.length()));
SetTo(dString);
}

View File

@ -153,8 +153,8 @@ decode_time(timestamp &timestamp, struct timespec &timespec)
long_address
to_long_address(ino_t id, uint32 length)
{
TRACE(("udf_to_long_address: ino_t = %Ld (0x%Lx), length = %ld",
id, id, length));
TRACE(("udf_to_long_address: ino_t = %" B_PRIdINO ", length = %" B_PRIu32,
id, length));
long_address result;
result.set_block((id >> 16) & 0xffffffff);
result.set_partition(id & 0xffff);
@ -171,9 +171,11 @@ to_vnode_id(long_address address)
ino_t result = address.block();
result <<= 16;
result |= address.partition();
TRACE(("block: %ld, 0x%lx\n", address.block(), address.block()));
TRACE(("block: %" B_PRIu32 ", 0x%" B_PRIx32 "\n", address.block(),
address.block()));
TRACE(("partition: %d, 0x%x\n", address.partition(), address.partition()));
TRACE(("length: %ld, 0x%lx\n", address.length(), address.length()));
TRACE(("ino_t: %Ld, 0x%Lx\n", result, result));
TRACE(("length: %" B_PRIu32 ", 0x%" B_PRIx32 "\n", address.length(),
address.length()));
TRACE(("ino_t: %" B_PRIdINO "\n", result));
return result;
}

View File

@ -48,9 +48,9 @@ status_t
Volume::Mount(const char *deviceName, off_t offset, off_t length,
uint32 blockSize, uint32 flags)
{
TRACE(("Volume::Mount: deviceName = `%s', offset = %Ld, length = %Ld, "
"blockSize: %ld, flags: %ld\n", deviceName, offset, length, blockSize,
flags));
TRACE(("Volume::Mount: deviceName = `%s', offset = %" B_PRIdOFF ", length "
"= %" B_PRIdOFF ", blockSize: %" B_PRIu32 ", flags: %" B_PRIu32 "\n",
deviceName, offset, length, blockSize, flags));
if (!deviceName)
return B_BAD_VALUE;
if (Mounted())
@ -134,8 +134,9 @@ Volume::Mount(const char *deviceName, off_t offset, off_t length,
status = partition ? B_OK : B_NO_MEMORY;
if (!status) {
TRACE(("Volume::Mount: adding PhysicalPartition(number: %d, "
"start: %ld, length: %ld)\n", map->partition_number(),
descriptor->start(), descriptor->length()));
"start: %" B_PRIu32 ", length: %" B_PRIu32 ")\n",
map->partition_number(), descriptor->start(),
descriptor->length()));
status = _SetPartition(i, partition);
if (!status)
physicalCount++;
@ -197,7 +198,7 @@ Volume::Mount(const char *deviceName, off_t offset, off_t length,
metadataCount++;
} else {
TRACE_ERROR(("Volume::Mount: metadata partition "
"creation failed! 0x%lx\n", status));
"creation failed! 0x%" B_PRIx32 "\n", status));
}
} else {
TRACE_ERROR(("Volume::Mount: no matching partition descriptor found!\n"));
@ -241,9 +242,9 @@ Volume::Mount(const char *deviceName, off_t offset, off_t length,
fBlockSize = blockSize;
fBlockShift = blockShift;
}
TRACE(("Volume::Mount: device = %d, offset = %Ld, length = %Ld, "
"blockSize = %ld, blockShift = %ld\n", device, offset, length,
blockSize, blockShift));
TRACE(("Volume::Mount: device = %d, offset = %" B_PRIdOFF ", length = %"
B_PRIdOFF ", blockSize = %" B_PRIu32 ", blockShift = %" B_PRIu32 "\n",
device, offset, length, blockSize, blockShift));
// At this point we've found a valid set of volume descriptors and
// our partitions are all set up. We now need to investigate the file
// set descriptor pointed to by the logical volume descriptor.
@ -265,8 +266,9 @@ Volume::Mount(const char *deviceName, off_t offset, off_t length,
= read_pos(device, address, chunk.Data(), blockSize);
if (bytesRead != ssize_t(blockSize)) {
status = B_IO_ERROR;
TRACE_ERROR(("read_pos(pos:%Ld, len:%ld) failed with: 0x%lx\n",
address, blockSize, bytesRead));
TRACE_ERROR(("read_pos(pos:%" B_PRIdOFF ", len:%" B_PRIu32
") failed with: 0x%lx\n", address, blockSize,
bytesRead));
}
}
// See if it's valid, and if so, create the root icb
@ -286,21 +288,22 @@ Volume::Mount(const char *deviceName, off_t offset, off_t length,
return B_NO_MEMORY;
}
TRACE(("Volume::Mount: Root Node id = %Ld\n", fRootIcb->Id()));
TRACE(("Volume::Mount: Root Node id = %" B_PRIdINO "\n",
fRootIcb->Id()));
if (!status) {
status = publish_vnode(fFSVolume, fRootIcb->Id(), fRootIcb,
&gUDFVnodeOps, fRootIcb->Mode(), 0);
if (status != B_OK) {
TRACE_ERROR(("Error creating vnode for root icb! "
"status = 0x%lx, `%s'\n", status,
"status = 0x%" B_PRIx32 ", `%s'\n", status,
strerror(status)));
// Clean up the icb we created, since _Unset()
// won't do this for us.
delete fRootIcb;
fRootIcb = NULL;
}
TRACE(("Volume::Mount: Root vnode published. Id = %Ld\n",
fRootIcb->Id()));
TRACE(("Volume::Mount: Root vnode published. Id = %"
B_PRIdINO "\n", fRootIcb->Id()));
}
}
}
@ -330,10 +333,12 @@ Volume::Name() const {
status_t
Volume::MapBlock(long_address address, off_t *mappedBlock)
{
TRACE(("Volume::MapBlock: partition = %d, block = %ld, mappedBlock = %p\n",
address.partition(), address.block(), mappedBlock));
DEBUG_INIT_ETC("Volume", ("partition = %d, block = %ld, mappedBlock = %p",
address.partition(), address.block(), mappedBlock));
TRACE(("Volume::MapBlock: partition = %d, block = %" B_PRIu32
", mappedBlock = %p\n", address.partition(), address.block(),
mappedBlock));
DEBUG_INIT_ETC("Volume", ("partition = %d, block = %" B_PRIu32
", mappedBlock = %p", address.partition(), address.block(),
mappedBlock));
status_t error = mappedBlock ? B_OK : B_BAD_VALUE;
if (!error) {
Partition *partition = _GetPartition(address.partition());

View File

@ -410,8 +410,8 @@ udf_open_dir(fs_volume *volume, fs_vnode *vnode, void **cookie)
DirectoryIterator *iterator = NULL;
status_t status = dir->GetDirectoryIterator(&iterator);
if (status != B_OK) {
TRACE_ERROR(("udf_open_dir: error getting directory iterator: 0x%lx, "
"`%s'\n", status, strerror(status)));
TRACE_ERROR(("udf_open_dir: error getting directory iterator: 0x%"
B_PRIx32 ", `%s'\n", status, strerror(status)));
return status;
}
*cookie = (void *)iterator;