On Mon, Jun 17, 2024 at 08:04:41AM +0200, Christoph Hellwig wrote:
Use the chance to switch to defaulting to non-rotational and require the driver to opt into rotational, which matches the polarity of the sysfs interface.
[...]
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index cb1c86a6a3fb9d..6cddf5baffe02a 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -1867,11 +1867,6 @@ static struct nbd_device *nbd_dev_add(int index, unsigned int refs) goto out_err_disk; } - /* - * Tell the block layer that we are not a rotational device - */ - blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue); - mutex_init(&nbd->config_lock); refcount_set(&nbd->config_refs, 0); /*
NBD actually exports a flag for rotational devices; it's defined in nbd.h in the NBD userland source as #define NBD_FLAG_ROTATIONAL (1 << 4) /* Use elevator algorithm - rotational media */ which is passed in the same flags field which also contains the NBD_FLAG_SEND_FLUSH and NBD_FLAG_SEND_FUA flags. Perhaps we might want to look at that flag and set the device to rotational if it is specified? -- w@uter.{be,co.za} wouter@{grep.be,fosdem.org,debian.org} I will have a Tin-Actinium-Potassium mixture, thanks.