Birkaç ext4 bölümlü bir sürücü (SD kart) var ama aynı zamanda ayrılmamış alan var. Yardımcı fstrim
program yalnızca bir dosya sisteminde çalışabilir. Tekerleği yeniden icat edip bir tane yazmadan önce, ayrılmamış alanı TRIM yapabilen (veya TRIM açıkça belirlenmiş bir aralıkta olabilecek) başka bir yardımcı program var mı?
Ben cihazda ayrılmamış alanın çoğunluğu doğrulayabildikten değil ben 0'lar, bu özel kartta, görülmektedir kesilmiş uzay dönüşüne okur ettik, şu anda denetleyicisi tarafından serbest olduğu bilinen ancak cihaz gösterileri tarama bir sürü çöp verisi kaldı.
Düzenleme: Kullanırken sorun yaşıyorum hdparm
. Aşağıdaki örnek ilk sektörü atmaktadır, ancak belirttiğim aralıktan bağımsız olarak aynı sonuçları görüyorum. fstrim
cihazda hiçbir sorun yok:
root@ubuntu:~# hdparm --please-destroy-my-drive --trim-sector-ranges 0:1 --verbose /dev/mmcblk0
/dev/mmcblk0:
trimming 1 sectors from 1 ranges
outgoing cdb: 85 0d 06 00 01 00 01 00 00 00 00 00 00 40 06 00
outgoing_data:
00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ioctl(fd,SG_IO): Invalid argument
FAILED: Invalid argument
Daha fazla araştırıyorum ama kimsenin içgörüleri var mı?
blkdiscard
standart paket depolarımda mevcut görünmüyor (Ubuntu 12.04, mevcut görünmüyor util-linux
).
hdparm
sebepten dolayı benim için asla çalışamadım , ancak util-linux kaynağını github.com/karelzak/util-linux/tree/stable/v2.23 adresinden aldım , ./autogen.sh ; ./configure ; make blkdiscard
harika çalıştı. Hala gizemli hdparm
ama blkdiscard
tam olarak istediğimi yapıyor. Bonus: Öncelikle geçici bir dosya sistemi oluşturmanıza gerek yoktur, sfdisk -l
bölümler arasındaki boşluğu bulmak ve blkdiscard
kırpmak için kullanabilirsiniz.
blkdiscard
Ofset / uzunluk seçenekleriyle çalışabileceğimin farkında bile değildim . Dolayısıyla önerdiğim geçici bölümler bile gerekli değil. Güzel!
blkdiscard
eşlerseniz, üzerlerinde tüm aygıtı kesen kullanabilirsiniz .