Hello folks,
I recently got two new Seagate drives, Seagate Exos X X16, which are
able to switch into native 4K mode. I used the Seagate tools to trigger
the switch, and now want to use the two drives in a RAID1.
I proceeded to create the md device:
mdadm --create --verbose --level=1 --metadata=1.2 --raid-devices=2
/dev/md/onyx-new /dev/sda /dev/sdb
As soon as the initial sync starts the kernel log begins to fill up with
errors. Here's part of the kernel log:
https://gist.github.com/tobiasjakobi/d5b5f1638d23765d5e1fecf0dfbcea3e
This is a 5.10.11 vanilla kernel, but it also happens with the 5.9.y
series. As you can see I already patched the kernel to include
additional information:
DEBUG: 40801 1 7
This is just a simple print() in sd_setup_read_write_cmnd().
printk("DEBUG: %x %x %x\n", blk_rq_pos(rq), blk_rq_sectors(rq), mask);
So it seems that neither the position nor the number of sectors is
aligned to eight. I assume that the md subsystem is supposed to handle this?
I then double-checked for sizes for the underlying block devices and the
md device itself:
cat
/sys/block/{sda,sdb,md126}/queue/{hw_sector_size,logical_block_size,physical_block_size}
4096
So it's 4K for all of them.
Here's the hdparm output for one of the drives:
https://gist.github.com/tobiasjakobi/a52cf5d4461db35c1f474c6a69b0782a
The drives themselves are fine, I can use them properly as standalone
devices, so I rule out a hardware error.
Any hints how to further triage this? Also would it help to open a bug
on the kernel bugtracker?
Thanks in advance!
With best wishes,
Tobias Jakobi