Comment 0 for bug 1278875

Revision history for this message
Marti (intgr) wrote :

After installing Ubuntu 13.10 Server on a server (Fujitsu PRIMERGY RX300 S8) with the LSI SAS 2008 RAID controller (Fujitsu D2607) and configuring it to use the XFS filesystem, the FS is created with sector size set to 4 kilobytes. The installer should respect the sector size of the underlying hardware.

XFS refuses O_DIRECT accesses that are not a multiple of the configured sector size, breaking assumptions made in some software that uses O_DIRECT, such as libvirt disks using cache=none, and the the PostgreSQL pg_test_fsync utility (didn't try running Postgres with open_sync): http://www.postgresql.org<email address hidden>

Partition after installation:
# xfs_info /dev/sda1
meta-data=/dev/disk/by-uuid/987c0579-bd67-4f80-bbc6-50f975ee4c1d
isize=256 agcount=16, agsize=4341104 blks
         = sectsz=4096 attr=2
[...]

Yet kernel knows that the underlying storage has 512-byte sectors:
# cat /sys/block/sda/queue/logical_block_size
512
# cat /sys/block/sda/queue/physical_block_size
512

Even a new fresh filesystem created with mkfs.xfs defaults uses 512B sectors:
# mkfs.xfs /dev/sda5
meta-data=/dev/sda5 isize=256 agcount=4, agsize=489856 blks
         = sectsz=512 attr=2, projid32bit=0
[...]

This can be reproduced by manually specifying sector size: mkfs.xfs -s size=4096

# lspci |grep -i raid
01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2008 [Falcon] (rev 03)