Re: LBA starting address alignment from struct request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Dec 07, 2014 at 11:49:41AM +0800, Alvin Abitria wrote:
> Hello,
> 
> Currently doing block drivers.  I've noticed during my tests that if
> my platform are RHEL6.x/CentOS6.x my struct request's starting
> LBA/sector is always aligned to 8 (e.g. 0, 8, 0x100, 0x2508, etc.)
> which is actually desirable for my designed driver.  It seems the
> struct requests are always aligned there.
> 
> On the other hand, if I test on some older systems like Oracle 5.6,
> the starting LBA for struct requests there seems not to be aligned to
> 8 - most cases the LBA is offseted (e.g. 0x2507, 300f, 0x95bd500f,
> etc.)
> 
> My block queue settings and even looking from sysfs shows that my
> logical block size and physical block size are 512 and 512,
> respectively.  So I don't think it has something to do with 4kB
> sectors.  What could be the setting that triggered such behaviour?

Partition alignment and filesystem type and configuration will
determine if IOs on arbitrary sector alignments are done. Some
filesystems will *always* do some amount of arbitrarily sector
aligned IO even when using a 4k block size. And if you configure a
filesystem to use a 512 byte block size, then you'll almost always
get non-aligned IO requests.

Hence if your block device can only handle 4k aligned and sized IO
then it needs to preset a block device with a 4k sector size. That
will result in everything using the block device to issue 4k aligned
and sized IOs....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux