LINUX.ORG.RU

Что происходит «под капотом» операций копирования?

 


0

2

При копировании большого (несколько ГБ) файла на флешку, как через гуй, так и через консоль, система рапортует о окончании операции гораздо раньше, чем копия файла будет физически перемещена на накопитель. Поэтому если попытаться отмонтировать флеш сразу, то получим сообщение, что устройство занято. Реально о завершении узнаю только по потухшему светодиоду на накопителе. Собственно почему так происходит? Файл копируется в какой-то буфер и оттуда в блочное устройство? Есть или возможность эту функцию отключить, и если нет, то как распознать занятость устройства в iotop или lsof?

Linux iamkisly 5.19.0-26-generic #27-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 23 20:44:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

то как распознать занятость устройства

В консольке пишете sync, как команда отработает, можно извлекать носитель «безопасно», копирование закончилось.

vvn_black ★★★★★
()

Есть или возможность эту функцию отключить

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

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

Шутка прикольная. А серьёзно он про то, что все DE показывают окончание копирования ДО того как sync закончил сбрасывать буфер. В чëм сложность это исправишь не сильно ясно (@i-rinat как-то хаком делал и оно работало), но так есть.

В моей личном топе «траблы у новичков» эта в числе лидеров.

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

Это, скорее, не UI, а UX. Которым в Линуксе, походу, вообще никто не занимается. Ляпают как бог на душу положит.

alex1101
()
Ответ на: комментарий от Psilocybe

Другие ОС как решают данную проблему?
Вызов close не завершается пока буферы для данного файла не сбросятся на диск?
Копируют за секунду до 100% а потом час оно висит на отметке 100%?

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

Другие ОС как решают данную проблему?

Создают десяток уведомлений о том, что «не извлекайте накопитель» и «теперь съёмный накопитель можно отключить». Linux же всё делает молча.

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

Поясняю - в видне если копирование в проводнике закончилось, то можно вынуть флешку и данные не испортятся. Как они это делают - загадка.

К примеру, если я копирую в Немо и копирование закончилось, то вынув сразу флешку внезапно обраружу испорченные данные на ней.

Вот как выглядит процесс с точки зрения пользователя, что как бы намекает, где UI хороший а где плохой.

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

Создают десяток уведомлений о том, что «не извлекайте накопитель» и «теперь съёмный накопитель можно отключить». Linux же всё делает молча.

Я так понимаю, из-за таких вот штук у них гуй к ядру прибит гвоздями.

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

Почему бы нет?

Потому что это сильно замедлит твои баш-скрипты (как пример. Да и все остальные программы). Возможно, есть (можно сделать) какой-то ioctl для такого режима, но по-умолчанию такое поведение не нужно, и даже вредно, в большинстве случаев.

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

В любом решении есть свои плюсы и минусы.

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

Как они это делают - загадка.

Тоже мне загадка. По умолчанию монтиркют съемное «с sync».

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

Не знаю. Но для долгоиграющего переносного HDD это может быть очень не удобно.

urxvt ★★★★★
()
Ответ на: комментарий от Psilocybe
  1. Наглое вранье.

  2. В любой ОС запрещено вытаскивать флешку без предварительного eject

Все твои выводы о (не)годности ГУЯ – бред

futurama ★★★★★
()

Проверь как у тебя монтируются сменные накопители. Желательна опция flush

flush – If set, the filesystem will try to flush to disk more early than normal. Not set by default.

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

Обнови методичку. В старых версиях оффтопика действительно нельзя было вытаскивать без эджект. Но начиная с определенной версии (непомню какой) - можно.

Все твои выводы о (не)годности ГУЯ – бред

фанбой чо.

Psilocybe ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.