diff --git a/src/add-ons/kernel/file_systems/udf/Utils.cpp b/src/add-ons/kernel/file_systems/udf/Utils.cpp index 9be05cb516..b1e556eaad 100644 --- a/src/add-ons/kernel/file_systems/udf/Utils.cpp +++ b/src/add-ons/kernel/file_systems/udf/Utils.cpp @@ -17,17 +17,19 @@ namespace Udf { udf_long_address to_long_address(vnode_id id, uint32 length) { + DEBUG_INIT_ETC(CF_PUBLIC | CF_HELPER, NULL, ("vnode_id: %lld, length: %ld", id, length)); udf_long_address result; - result.set_block(id & 0xffff00); - result.set_partition(id & 0xff); + result.set_block((id >> 16) & 0xffffffff); + result.set_partition(id & 0xffff); result.set_length(length); + DUMP(result); return result; } vnode_id to_vnode_id(udf_long_address address) { - return (address.block() << 16) & (address.partition()); + return (address.block() << 16) | (address.partition()); } } // namespace Udf