LINUX.ORG.RU

Копирование на флешку тормозит в одном месте.

 ,


3

3

Добрый день. Fedora 38 Gnome. При копировании на флешку разных файлов, навжно что, тормозит в одном месте примерно на 20%. 1 день на линуксе, флешка рабочая. Сделал восстановление файловой системы и форматировал не помогло.



Последнее исправление: kazierweb (всего исправлений: 1)

Ответ на: комментарий от Jameson

Мда, а я полагал, что они по уму сделали… нет ведь ничего невозможного в том, что при распознании носителя как флешки писать на него в один потом и отображать в прогресс-баре именно записанные данные.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Это именно на уровне ядра нужно режим sync включать. Ну то есть монтировать с такой опцией.

Прикладная программа в общем случае просто не знает, сколько именно реально записано. (Когда не выбран синхронный режим и не установлено ограничение на размер кэша)

А про разрабов гнома, ну а чему тут удиаляться. Они уже 10 лет делают глючные свистоперделки с вау-эффектом, но не решают никаких актуальных потребностей пользователя.

Вон режим для слепых поломали, как тут недавно обсуждалось.

В этом весь современный гном.

wandrien ★★
()
Ответ на: комментарий от greenman

автоматический flush для для всех дисков (комментарий)

Тут лоровец проверил разные значения кешей (для своей конкретной флешки, конечно)

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

В Кедах кстати тоже флешки с кешированием монтируются. Там всюду udisks2 используется, и в кедах, и в гноме, и вообще почти в любых гуях. И у него дефолт такой. Обычно где то в графических настройках монтирования носителей есть включающая синхронный режим настройка, ну или можно глобально в /etc/udisks2/mount_options.conf настроить, примеры в /etc/udisks2/mount_options.conf.defaults приведены. Но правильней всё это конечно через ГУИ настраивать. Но вот где конкретно я не подскажу, не помню, так как меня кеширование не напрягает.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

https://forum.manjaro.org/t/root-tip-how-to-disable-write-cache-for-usb-stora...

Вот тут магические заклинания как отключить write cache для всего что через USB подключается, через udev, гуенезависимо, то бишь будет работать с любым WM\DE. Лично я не вникал, мне оно не надо потому что.

Jameson ★★★★★
()

https://bbs.archlinux.org/viewtopic.php?pid=1952670#p1952670

А вот тут как это включить для udisks2. По умолчанию это не включено потому что ядерные драйверы ntfs3 и exfat появились относительно недавно, а их реализации через fuse (ntfs-3g и fuse-exfat) не поддерживают опцию монтирования sync. Так что в целях совместимости всё внешнее монтируется с кешированием.

Если используется свежее ядро и свежий дистрибутив, и в нём уже выкинули ntfs-3g и fuse-exfat в пользу их нативных реализаций в ядре — можно включать.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

На Linux для команд в терминале cp и для GUI файлового менеджера процесс копирования завершен в тот момент, когда все данные были считаны.

И вот до сих пор не понимаю, зачем это до сих пор так. Считана, а не записаны! В ГУИ!

Dementy ★★★
()
Последнее исправление: Dementy (всего исправлений: 1)
Ответ на: комментарий от Dementy

потому, что процесс sync может длиться очень долго. Да и на винде так же, иначе мелкософт не придумал «безопасное извлечение носителя». Что и является ожиданием окончания sync

monkdt
()
Ответ на: комментарий от Vsevolod-linuxoid

Дык ворт и я об этом. Кому практически интересно, что оно с диска уже скопировалось в оперативку?

Да еще и флешек без лампочки или с парадоксально мигающей мигающей лампочкой полно.

Dementy ★★★
()
Ответ на: комментарий от Dementy

Выше уже было разжевано.

Приложение не знает, когда «данные реально были записаны», потому что этой «реальности» в его парадигме просто нет.

Чтобы прогресс копирования соответствовал записи, нужно либо общесистемно ограничить размер кэша отложенной записи (я предпочитаю этот вариант), либо монтировать флешку с параметром sync.

За монтирование флешек отвечает udisks2.

За разработку udisks2 отвечают гномеры.

А они хер забили на такие мелочи, им важнее пилить бесполезный gtk5, на который нет и не будет софта.

wandrien ★★
()
Ответ на: комментарий от wandrien

Ну почему «забили» то? Sync включается одной строкой в конфиге udisks2, я выше об этом писал и ты даже кнопочку «огонь» под моим постом нажал. Вот только exfat и ntfs дрова в их fuse реализации не поддерживают параметр sync. По причине самой архитектуры fuse драйверов.

И если его по умолчанию включить — две трети флешек монтироваться перестанут, потому что там либо exfat (они продаются в этом формате отформатированные), либо ntfs (в Винде отформатировали). И у меньшинства ext4/vfat32 (ретрограды\линуксоиды). И 80% дистрибутивов и их пользователей ещё не переехали на ядерные реализации ntfs3\exfat и используют проверенные fuse драйверы. А с ними монтирование через udisks2 обломается по причине неподдерживаемого параметра, если sync включить. Собственно поэтому он и выключен.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Кстати, спасибо, что напомнил про ехфат. буквально вчера взял на 32, а там оно. Форматнуть надо в 32.

Вот где как, наверное. Настолько редко какие-то не с фат32 флешки попадаются, забываю, что ехфат в Линукс работает через жопу по имени Фус.:))

Dementy ★★★
()
Ответ на: комментарий от Dementy

Дык уже есть ядерный нормально работающий драйвер exfat, начиная с версии ядра 5.7. Я пользуюсь вполне, правда у меня Гента, свежее ядро, и я фузёвые ntfs и exfat давно из системы выкинул.

Вообще не парюсь что что то там форматировать надо. Купил флешку, на ней exfat, она сразу из коробки работает всюду. vfat32 — ограничения по максимальному размеру файлов, ntfs — не надо мне на флешке ntfs, ext4 — не кросплатформенно без бубнов. Но я на флешках данные не храню, только переношу. Так что если она внезапно навернётся — у меня всегда есть копия. Но чот пока по причине битой ФС отказов не было. Наверное потому что я сам жизнью битый и всюду делаю «безопасное извлечение», а не просто так их выдёргиваю.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)