Jump to content











Photo
- - - - -

Volumes created with 4KB sector size still have a 512-byte request


  • Please log in to reply
2 replies to this topic

#1 v77

v77

    Silver Member

  • Team Reboot
  • 561 posts
  •  
    France

Posted 22 February 2019 - 02:57 PM

When a volume is defined with -S 4096, the volume is actually created with a sector size of 4096 bytes. This is confirmed by the GUI of Windows that does not show cluster size below 4096.

However, as we can see with a proxy, the very first request, and only this one, has a size of 512 bytes (and 0 as offset).
This becomes an issue when the proxy performs I/O for instance on a hard drive that has a sector size (even "logical") of 4096 bytes.

This behavior is seen on both Windows 7 32-bit and Windows 10 1607 64-bit.

Why 512 bytes are read on a volume with 4KB sector size?
Could this come from the imdisk driver? Or is this (again) a file system issue?



#2 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1407 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 22 February 2019 - 07:23 PM

That request comes from ImDisk driver itself and is sent when either of sector size, sectors per track or tracks per cylinder values are missing from command line or API request to create a new disk. It is just an attempt to read the VPB and check for geometry values stored there. It is supposed to be safe to simply ignore and fail that request which is also the case when image files are mounted directly. But I see now that there is a mistake in the driver where it fails the whole virtual disk creation when this request fails for proxy type virtual disks. Thanks for finding that!

 

This will be corrected in next version of the driver. Meanwhile you can supply some values for sectors per track and tracks per cylinder in the geometry structure in API request, or -x and -y switches at command line. In that case this VPB read request will not be sent.


  • v77 likes this

#3 v77

v77

    Silver Member

  • Team Reboot
  • 561 posts
  •  
    France

Posted 23 February 2019 - 02:27 PM

It seems to me cleaner not to ignore any request.
The volume creation fail is not inconsistent if a request fails.
In my opinion, the main issue is that this request does not follow the specified sector size.

I tried to specify values with -x and -y, and it works. Thanks!






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users