Seagate Flex SMR

Noah Bergbauer <[email protected]>
Newsgroups org.kernel.vger.linux-block
Message-ID <[email protected]>
Hello,

Seagate Flex SMR drives are an early generation of hybrid SMR (HSMR) 
drives with a configurable zone layout. There are three main challenges 
towards supporting this in the kernel:

1. Instead of CONV they use SEQ_OR_BEFORE (type 4) zones. These permit 
random writes below the write pointer, so once full they behave exactly 
like CONV.
2. In an (in my opinion rather questionable) attempt at backwards 
compatibility the drives camouflage themselves as non-ZBC. Their ZAC 
support can be detected from a special ATA log page but ZBC commands 
must be emulated via ATA PASS-THROUGH as a SAT may refuse zone commands 
on a non-ZBC drive.
3. The zone configuration works by reporting both SEQ_OR_BEFORE and 
SEQWRITE_REQ zones each for the entire disk, and then for each pair of 
overlapping zones only one of them can be active while the other one 
will be in the offline condition. Right now some parts of the kernel 
(e.g. btrfs) don't play well with offline zones.

I implemented all of this last year and in the end everything was 
working fine under btrfs. Now I would like to attempt to get this into 
the kernel. This would involve rewriting most of my patches from 
scratch. So before I invest a lot of time and effort into doing so, my 
question is: would you as the maintainer even be willing to accept these 
changes into the kernel?

Best,
Noah Bergbauer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.