On Wed, Jul 24, 2013 at 02:32:08PM -0400, Dwight Engen wrote:
> Tests 091,240, and 268 are failing on my 4k sector hard disk. The dio writes
> from fsx and aiodio_sparse2 are failing on xfs with EINVAL which is returned
> from the check at the top of xfs_file_dio_aio_write().
> The fix is to use blockdev -getpbsz to get the physical sector size instead
> of the logical sector size. This makes 091 and 268 work. 240 will not run
> on a 4k drive since fs block size == device block size. Tested against
> xfs,ext4, and btrfs.
What's the logical sector size of the drive? If it's 4k, then
blockdev --getss should be returning 4k. If it's not, then either
the drive is reporting that it supports 512 bytes sectors when it
doesn't (i.e. the drive is broken) or blockdev is returning the
wrong information (i.e. blockdev is broken)....
What does mkfs.xfs output on that device?
> rm -f $TEST_DIR/aiodio_sparse
> -logical_block_size=`blockdev --getss $TEST_DEV`
> +logical_block_size=`blockdev --getpbsz $TEST_DEV`
FWIW, that doesn't make much sense - putting the physical block size
into a variable named "logical_block_size".....