Почему флешка определяется как вращабельное устройство?

имеется арч, флешка.
`--> cat /sys/block/sdb/queue/rotational
1

почему?
Вращающееся, то бишь жесткий диск.
Видимо, контроллер флешки представляется как USB-HDD.
вращабельное - писец просто... Крутящееся, если по русски
Ааа, только щас на ник внимание обратил - это ж местный юродивый
https://github.com/warlock90000/awesome
warlock9000
Ааа, только щас на ник внимание обратил - это ж местный юродивый
я хароший
Natrio
Видимо, контроллер флешки представляется как USB-HDD.
а зачем он ент делает?
warlock9000
по русски
По-русски.
https://t.me/atvva
A.T.W.A.
warlock9000
по русски
По-русски.
вухахаахах вот и падлавили вухахаахах
Попробую высказать свое предположение насчет этого термина. Сильно не пинайте.
Да, первоначально этот термин и был в определенной степени связан с вращением диска, но смысл у него другой и этот смысл связан с термином rotational latency - задержка поиска сектора или время ожидания появления нужного сектора на диске.
Ну назвали так параметр/файл, видимо в те времена термин был удачный. Но со временем появились новые устройства, другие задержки и все отсюда вытекающее.
Информация беряется для PCI устройств из адресного конфигурационного пространства, а точнее из обязательного для всех производителей Class Code (составляет 3 байта), зная этот 16-ричный код, можно однозначно сказать что это за устройство и на основании этого присвоить ему нужное значение rotational (0 или 1), но значение это присваивается не на основании того что оно вращается, а исходя из других характеристик.
А вот устройства USB, это уже не PCI устройства, для них информация считывается по-другому, но и там имеется все что нужно, чтобы определиться с присвоением значения rotational.
Но пока похоже решено всем USB storage присваивать значение rotational=1 - все-таки по задержке доступа к блоку они ближе к HDD.
Но, насколько я помню, в Debian были специальные патчи для ядра в части более тщательного выбора этого значения для определенных устройств (возможно это есть и у нас, не проверял).
И вот что нашел в исходниках, в подтвержение своих предположений.
u64 wbt_default_latency_nsec(struct request_queue *q)
{
	/*
	 * We default to 2msec for non-rotational storage, and 75msec
	 * for rotational storage.
	 */
	if (blk_queue_nonrot(q))
		return 2000000ULL;
	else
		return 75000000ULL;
}
Возможно, в чем то я и не прав - это только мои предположения.
Ошибки не исчезают с опытом - они просто умнеют
Не может быть это rotational как "заменяемое", не "крутящееся", а "сменное"? Типа как ротация - смена одних работающих на других?
Хотя глянул гугл картинки по этому слову, вроде как флешки определённого вида, хотя это чисто внешняя разница, для системы никак не существенно....
Не судите строго.
safocl
`–> cat /sys/block/sdb/queue/rotational
1
Вместо этого удобнее использовать lsblk -d -o name,rota (или более расширенный вывод, типа lsblk -d -o name,hctl,rota или добавлять другое)
Ошибки не исчезают с опытом - они просто умнеют
Fean
Не может быть это rotational как "заменяемое", не "крутящееся", а "сменное"? Типа как ротация - смена одних работающих на других?
Хотя глянул гугл картинки по этому слову, вроде как флешки определённого вида, хотя это чисто внешняя разница, для системы никак не существенно….
Не судите строго.
там есть параметр устройства и соответствующий файл для ентого
`--> ls /sys/block/sda/removable
/sys/block/sda/removable

vasek
И вот что нашел в исходниках, в подтвержение своих предположений.
u64 wbt_default_latency_nsec(struct request_queue *q)
{
/*
* We default to 2msec for non-rotational storage, and 75msec
* for rotational storage.
*/
if (blk_queue_nonrot(q))
return 2000000ULL;
else
return 75000000ULL;
}
да, пахоже на правду. похоже так и определяются енти устройства
 
Зарегистрироваться или войдите чтобы оставить сообщение.