Re: [PATCH 3/3 v2] nvmet: add rotational support

From: Christoph Hellwig
Date: Fri Oct 11 2024 - 04:22:28 EST


On Thu, Oct 10, 2024 at 02:39:51PM +0200, Matias Bjørling wrote:
> From: Keith Busch <kbusch@xxxxxxxxxx>
>
> Rotational block devices can be detected in NVMe through the rotational
> attribute in the independent namespace identify data structure.
>
> Extend nvmet with support for the independent namespace identify data
> structure and expose the rotational support of the backend device.

Most of this patches looks fine, but what it really is, is just an
implementation of the I/O Command Set Independent Identify
Namespace data structure.

NVMe actually requires more for rotational media support (quoting
from section 8.1.23 in the NVMe 2.1 Base Specification):

A controller that supports namespaces that store user data on rotational media
shall:

a) set the Rotational Media bit to ‘1’ in the NSFEAT field of the I/O
Command Set Independent Identify Namespace data structure (refer to
the NVM Command Set Specification) for any namespace that stores data
on rotational media;
b) support the Rotational Media Information log page (refer to section
5.1.12.1.22);
c) support the Spinup Control feature (refer to section 5.1.25.1.18);
d) support Endurance Groups (refer to section 3.2.3); and
e) set the EG Rotational Media bit to ‘1’ in the EGFEAT field in the
Endurance Group Information log page for each Endurance Group that
stores data on rotational media.

So we'll need to implement a bit more here. Most of this should be
pretty trivial stubby code, though.

> Signed-off-by: Keith Busch <kbusch@xxxxxxxxxx>

This also needs your signoff if you pass it on.