LINUX.ORG.RU

fstrim - the discard operation is not supported

 , ,


0

2

Есть внешний SSD, семь разделов, все разделы - ntfs. Хочу потримать, но тримаются только 3 раздела, на остальных четырех the discard operation is not supported. Почему? Те же самые разделы с той же самой ntfs.

# fstrim -av
fstrim: /run/media/hevioso/L-WIN10: the discard operation is not supported
/run/media/hevioso/UEFI-WIN10: 641 MiB (672120832 bytes) trimmed on /dev/sde2
fstrim: /run/media/hevioso/L-WINPE: the discard operation is not supported
/run/media/hevioso/BOOT-MINT: 337.8 MiB (354250752 bytes) trimmed on /dev/sde1
/run/media/hevioso/UEFI-WINPE: 191.7 MiB (201039872 bytes) trimmed on /dev/sde3
fstrim: /run/media/hevioso/PACK: the discard operation is not supported
fstrim: /run/media/hevioso/L-Win7: the discard operation is not supported

Этот же самый диск тримал в апреле этого года, тогда discard поддерживался...

★★★★

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

Со времени последнего выполнения fstrim в апреле разделы не менялись. В апреле fstrim работал нормально, сейчас не хочет. Проверил разделы в винде chkdsk - пишет что всё чисто.

Chord ★★★★
() автор топика

Что-то я сбрехал, не все разделы ntfs.

Те, которые потримались - это fat32 разделы. Те, которые fstrim пише, что discard не поддерживается - ntfs. Что за дичь? Ntfs должен поддерживать.

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

Может драйвер ntfs3 виноват? Через что монтируются разделы?

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

Что за дичь? Ntfs должен поддерживать.

Кто должен?

ntfs3 kernel driver only supports continuous TRIM.

NTFS-3G driver only supports periodic TRIM
Dimez ★★★★★
()
Ответ на: комментарий от anatole

Получается, что если хочешь сделать трим - удаляешь какой-нибудь файл.

Chord ★★★★
() автор топика

Тогда непонятно, почему внутренний ssd c ntfs разделом спокойно тримается командой fstrim -av?

/mnt/win10: 30.3 GiB (32543195136 bytes) trimmed on /dev/sda2

Для внутреннего ssd что, другой драйвер используется? Тот, который позволяет periodic trim? Или в чем тут дело?

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

Это раздел на внешнем ssd, тот который не поддерживает discard

/dev/sde8 on /run/media/root/PACK type ntfs3 (rw,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,uhelper=udisks2)

Это раздел на внутреннем ssd, который поддерживает discard:

/dev/sda2 on /mnt/win10 type fuseblk (rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096)

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

Дич, не дичь, но истина где то тут. Линуксовые драйвера ntfs в принципе никому ничего не должны.

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

type ntfs3

Эта NTFS смонтирована через ядерный драйвер

type fuseblk

А вот эта через FUSE реализацию (ntfs-3g)

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

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

Раньше у меня стояло самосборное ядро, затем перешел на kernel-gentoo-dist, видимо раньше был только ntfs-3g, теперь похоже что оба.

В принципе если удаление файла на разделе автоматом вызывает trim, пусть так и будет. Лишь бы знать, как до него добраться.

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

В принципе если удаление файла на разделе автоматом вызывает trim, пусть так и будет. Лишь бы знать, как до него добраться.

У тебя не вызывает. Надо discard в опции монтирования добавить.

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

Ну или можно для периодического трима скриптом по крону перемонтировать на ntfs-3g и тримить, после чего возвращать всё обратно. Геморно, но позволит избежать недостатков continuous trim.

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

Надо discard в опции монтирования добавить.

пробую в fstab прописать

LABEL=PACK  /mnt/pack   ntfs-3g     noatime,users,acl,discard     0 0
монтируется без опции discard:
/dev/sde8 on /mnt/pack type fuseblk (rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096)

Пробовал вместо ntfs-3g указать ntfs - всё равно монтируется без опции discard, единственное изменение - вместо fuseblk стоит ntfs3.

/dev/sde8 on /mnt/pack type ntfs3 (rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096)

Почему игнорит опцию discard?

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

Каким образом?

# umount <path> # отмонтировали ntfs3
# mount <пишем все аргументы маунта ручками для монтирования ntfs-3g, не трогая fstab>
# fstrim <path>
# umount <path> # отмонтировали ntfs-3g
# mount <path>  # теперь опять монтируетсяntfs3, используя опции из fstab
annulen ★★★★★
()
Ответ на: комментарий от annulen
asus / # umount /dev/sde8
asus / # mount /dev/sde8 -t ntfs-3g -o discard /mnt/pack/
asus / # fstrim -v /mnt/pack/
fstrim: /mnt/pack/: the discard operation is not supported
Chord ★★★★
() автор топика
Ответ на: комментарий от Chord

ntfs-3g

discard

fstrim

Ты методом «тыка» что ли делаешь?

Ты либо прописываешь discard в опции монтирования (и у тебя trim выполняется при удалении), либо discard не прописываешь и делаешь периодический trim через fstrim. И ещё надо учитывать, какой драйвер ntfs что именно поддерживает.

Прописывать discard и пытаться запускать fstrim - неверно (ну, точнее, оно отработает 1 раз только)

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

У меня openrc

mount -a монтирует всё, что прописано в fstab, но, наверное, придётся сначала ручками отмонтировать то, для чего изменились опции

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

Нашел вроде где собака порылась: после правки fstab надо mount -a делать, я же монтировал конкретный раздел. Сделал mount -a и опция discard отобразилась в выхлопе:

/dev/sde8 on /mnt/pack type ntfs3 (rw,nosuid,nodev,noexec,noatime,uid=0,gid=0,discard,acl,iocharset=utf8)

Надеюсь, теперь при удалении с раздела файлов trim будет происходить автоматом?

Chord ★★★★
() автор топика

Интересно, есть где-нибудь индикация того, что trim действительно была вызвана и сработала? Или можно как-то определить, есть необходимость в выполнении trim или нет?

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

Сотри какой-нибудь файл, в котором есть известные тебе строки. И через пол-часа бездействия диска поищи эти строки на незанятой файлами части раздела.

Для сравнения можно ещё поискать сразу после стирания.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.