Sparse? nie-sparse?

Autor: Sempiterna <rzopa_at_amorki.pl>
Data: Fri 06 Mar 2009 - 23:53:16 MET
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Message-ID: <49b1a962$1@news.home.net.pl>

NTFS oczywiście, w FAT tego problemu nie ma.

Chodzi mi o coś takiego:
fsutil file createnew d:\0 2147454976
OK, plik utworzony.
I OK, niech nawet będzie sparse, ale...
Utworzenie tego pliku nie pozostawia miejsca wolnego na partycji, ale,
gdy tenże plik kopiujemy gdzieś, to on jest, jednakże kontrolka dysku
(osobny dysk, z własną lampką) nie miga w trakcie w ogóle.
Jeśli jednak utworzę plik, przeniosę na inny dysk, a następnie znów
przeniosę na ten początkowy, to plik już fizycznie znajduje się na dysku
i przy jego czytaniu/przenoszeniu/kopiowaniu, kontrolka dysku wykazuje
już aktywność, co uznaję za stan normalny.

O co mi chodzi... dlaczego plik przy tworzeniu nie jest fizycznie
zapisywany, a mimo to, wolnego iejsca ubywa tyle, ile jest owego pliku.
Wydawało mi się, że technika sparse powstała po to, aby przy dużej
ilości zerowych danych oszczędzić miejsce na dysku, poprzez zamiast
zapisu zer, to wskazania w łańcuchu alokacji, że od-do jest pusto i nic
pisać nie trzeba. Znakiem tego, owo puste miejsce IMO powinno być
dostępne dla innych plików. Dlaczego więc nie jest? Czemu tworząc plik o
rozmiarze zajmującym całą partycję, powoduję, że jej przestrzeń nie jest
już dostępna, mimo, ze nie jest fizycznie wykorzystana...? Czy system
usiłuje myśleć za mnie i domniemywać, ze a może ja coś kiedyś w tym
miejscu zapiszę? Czemu przy normalnym kopiowaniu, plik jest już "po
bożemu" zapisywany (i takowoż później czytany) na dysku? Heh... przecież
to doskonałe pole popisu dla wirusów, ciach, szybka procedurka
zapychająca partycję, wykorzystująca fsutil, polegająca na samym wpisie
w strukturach... Nawet się nie zauważy mrygnięcia dysku (którego prawie
nie będzie) i już nie ma gdzie pisać nowych plików, skype pyszczy o
zalogowanie... i jeszcze jakiś program daje ciała...
Zobaczyłem, jak szybko się taki plik kopiuje... u mnie doszło (ie od
razu, na poczatku było 150 MB/s) do 631MB/s...

Niedoróba Windy, czy celowe działąnie, np. "dla mojego dobra"?
Hmm, jak w FAT to robię, to od razu mam normalny zapis...
Po co mi to?

Np. chcę szybko wyzerować całe wolne miejsce, mógłbym to zrobić jedną
komendą, a tu sempiterna...
Nie da się fsutil przekonać, żeby normalnie zapisał te zera w pliku, a
nie dziwaczyl ze sparse?

Jeszcze trochę pobadam tu i ówdzie... Ale najważniejsze już zawarłem...
Nadziwić się nie mogę... Coś mi tu nie gra.

-- 
Na wiadomości z Quoted-Printable nie odpowiadam. 
Received on Sat Mar 7 18:10:31 2009

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sat 07 Mar 2009 - 18:42:01 MET