Mike Hommey wrote:
Just untar the file, go into the created directory, run "make", then run
"./debugvmfs"
This one crashes..
# ./debugvmfs /dev/sdb3 ls /
Segmentation fault
This is because of an endianness issue in vmfs_inode_read:
if (inode->mdh.magic != VMFS_INODE_MAGIC)
return(-1);
Presumably this should go via read_le32, but I just commented it out for
my tests.
# ./debugvmfs /dev/sdb3 cat
/en_windows_server_2008_datacenter_enterprise_standard_x64_dvd_X14-26714.iso
>>/tmp/out.iso
VMFS: i/o spanned over several extents is unsupported
VMFS: i/o spanned over several extents is unsupported
VMFS: i/o spanned over several extents is unsupported
VMFS: i/o spanned over several extents is unsupported
...
etc.
I put some debugging in there to see what was happenening. It starts
off OK:
# ./debugvmfs /dev/sdb3 cat
/en_windows_server_2008_datacenter_enterprise_standard_x64_dvd_X14-26714.iso
>/tmp/out.iso
pos=00200000 len=00000200 pos+len=00200200
vmfs_lvm_extent_size = 20000000
pos=00400000 len=00001000 pos+len=00401000
vmfs_lvm_extent_size = 20000000
pos=00418000 len=00001000 pos+len=00419000
vmfs_lvm_extent_size = 20000000
pos=00500000 len=00001000 pos+len=00501000
vmfs_lvm_extent_size = 20000000
pos=00500000 len=00001000 pos+len=00501000
vmfs_lvm_extent_size = 20000000
pos=00500000 len=00001000 pos+len=00501000
vmfs_lvm_extent_size = 20000000
Then suddenly goes bananas:
pos=02ae0000 len=00001000 pos+len=02ae1000
vmfs_lvm_extent_size = 20000000
pos=10020000 len=00001000 pos+len=10021000
vmfs_lvm_extent_size = 20000000
pos=578400000 len=00001000 pos+len=578401000
vmfs_lvm_extent_size = 20000000
VMFS: i/o spanned over several extents is unsupported
pos=10020000 len=00001000 pos+len=10021000
vmfs_lvm_extent_size = 20000000
pos=578401000 len=00001000 pos+len=578402000
vmfs_lvm_extent_size = 20000000
VMFS: i/o spanned over several extents is unsupported
pos=10020000 len=00001000 pos+len=10021000
vmfs_lvm_extent_size = 20000000
pos=578402000 len=00001000 pos+len=578403000
vmfs_lvm_extent_size = 20000000
VMFS: i/o spanned over several extents is unsupported
pos=10020000 len=00001000 pos+len=10021000
vmfs_lvm_extent_size = 20000000
pos=578403000 len=00001000 pos+len=578404000
vmfs_lvm_extent_size = 20000000
VMFS: i/o spanned over several extents is unsupported
It seems that every alternate read is completely wrong from that point on.
Hope this helps
Tony
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org