Edit: feedback
Thanks for all the advice! Here’s some funny feedback: it was a faulty drive 🤣 give me back my feelings 😭 obviously I’m sending it back

I have just received my Seagate 18TB IronWolf Pro HDD and the specs say that the logical sector size is 512 emulated. Moreover, Seagate says that switching to 4096 sector size is as easy as doing a quick format (Windows terminology?). I suppose on Linux this simply means creating a filesystem with that block size? For instance mkfs.ext4 -b 4096 /dev/device or - in my specific case - cryptsetup luksFormat --sector-size=4096 and then creating a file system?
What confuses me is the Arch Wiki article on advanced format that has instructions on how to use hdparm to tell the firmware to use a certain sector size.
Do I need to do the hdparm thing, which seemingly conflicts with the Seagate instructions?



I’m pretty sure OP is confused themselves, but I read this as referring to the physical sector size.
Fair enough, I probably explained it poorly. The problem is that pages don’t mean anything to the filesystem, but the way the filesystem is layed out means a lot to the pages. With 512e, the SSD has to buffer each write until it can make up the whole 4K page. It’ll also buffer a read until the whole 4K page is read. So if those buffers never become full/read, such as when the filesystem isn’t aligned to it’s pages, or the read/writes aren’t in the right sequence, then it destroys your performance.
This also happens with HDDs, but they’re slow enough to be able to rearrange operations, though an unaligned filesystem will still cause unnecessary reads before writes.