View Single Post
Old 06 June 2018, 22:41   #13
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,962
Quote:
Originally Posted by Toni Wilen View Post
Not using minblocksize is by design. I am quite sure there are drivers that expect 512 and nothing else, especially when looking for LSEG blocks. Even if filesystem uses 256 byte blocks.
A filesystem with 256-byte blocks can't work on a drive with larger sectors, at least not without some intermediate driver to handle the conversion. The filesystem would issue CMD_READ/WRITE with IO_LENGTH = 256 or IO_OFFSET not being sector-aligned which should be rejected by the driver. So I think using minblocksize (which is only ever not 512 when fileystem block size is 256) is safe.

Edit: Think I misunderstood, you were talking about the LSEG data size. Are there drivers which do work with 256-byte sectors, but whose LSEG filesystem loader code doesn't?

Edit 2: Just use 512 for the LSEG blocks then?

Edit 3: Thinking about it some more, any drivers which can't handle LSEG blocks being 256 bytes (on 256 bytes/sector drive) probably will be hard-coded to assume 512-byte sectors anyway, requiring IO_OFFSET and IO_LENGTH be multiples of 512. They couldn't possibly work with a 256-bytes/sector filesystem. And "good" drivers expect LSEG data to match the drive sector size. (I just checked gvpscsi.device and scsi.device, both issue CMD_READ with IO_LENGTH = sector size.)

Last edited by mark_k; 07 June 2018 at 16:00.
mark_k is offline  
 
Page generated in 0.04271 seconds with 11 queries