> Хотите доказать, что документация, на которую я ссылаюсь, не соответствует действительности
> и /sys/block/DEV/queue/rotational игнорируется? Тогда Вам следует писать её авторам.
> Или хотите, что бы я объяснил за Вас, зачем Вы при
> создании ФС определённые ключи указываете? Извините, это не моё дело.Нет, не хочу, тем более, что Вы (и документация) абсолютно правы. И я не посраться ради, а правды для пишу.
grep -A10 'int is_ssd' mkfs/main.c
static int is_ssd(const char *file)
{
char rotational;
int ret;
ret = device_get_queue_param(file, "rotational", &rotational, 1);
if (ret < 1)
return 0;
return rotational == '0';
}
Изначально речь шла о подтасовке, вот код - косяк в mkfs. На loop устройстве создается верно, а для файла берется нижележащее устройство(dm-X). Как это будет работать для lvm поверх группы из ротационных и твердотельников - большой вопрос.
losetup -la
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop0 0 0 0 0 /data/raid1/img.img 0 512
mkfs.btrfs /dev/loop0 -f
btrfs-progs v5.12.1
See http://btrfs.wiki.kernel.org for more information.
Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication.
Label: (null)
UUID: 422180e6-c56d-45e6-9571-ef387fb12f2f
Node size: 16384
Sector size: 4096
Filesystem size: 1.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: single 8.00MiB
System: single 4.00MiB
SSD detected: yes
Zoned device: no
Incompat features: extref, skinny-metadata
Runtime features:
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 1.00GiB /dev/loop0
cat /sys/block/dm-*/queue/rotational
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1