+ (* If debugging, print the segments that we found. *)
+ if !debug then (
+ let ownership = List.rev ownership in
+ eprintf "ownership segment list of %s:\n" machine.m_name;
+ List.iter (
+ fun (disk, disk_offset, size, owner, owner_offset) ->
+ let blocksize = disk#blocksize in
+ let disk_offset_in_blocks, disk_offset_in_block =
+ disk_offset /^ blocksize, disk_offset %^ blocksize in
+ let size_in_blocks, size_in_block =
+ size /^ blocksize, size %^ blocksize in
+
+ eprintf "%s %s[%s:%s] %s[%s:%s] %s@%s\n"
+ disk#name
+ (Int63.to_string disk_offset)
+ (Int63.to_string disk_offset_in_blocks)
+ (Int63.to_string disk_offset_in_block)
+ (Int63.to_string size)
+ (Int63.to_string size_in_blocks)
+ (Int63.to_string size_in_block)
+ (string_of_owner owner)
+ (Int63.to_string owner_offset)
+ ) ownership
+ )