FALLOCATE(1) Polecenia uzytkownika FALLOCATE(1) NAZWA fallocate - przydziela miejsce plikowi lub zwalnia miejsce pliku SKLADNIA fallocate [-c|-p|-z] [-o przesuniecie] -l dlugosc [-n] nazwa-pliku fallocate -d [-o przesuniecie] [-l dlugosc] nazwa-pliku fallocate -x [-o przesuniecie] -l dlugosc nazwa-pliku OPIS fallocate dluzy do konfiguracji przydzialu przestrzeni dysku plikowi, tj. do jej zwolnienia lub przydzielenia. W przypadku systemow plikow obslugujacych wywolanie systemowe fallocate(2), przydzial jest szybki i polega na przydzieleniu blokow i oznaczeniu ich jako niezainicjowane, zatem nie wystepuje wejscie/wyjscie do blokow danych. Jest to znacznie szybsze, niz tworzenie pliku wypelniajac go zerami. fallocate zwraca status zakonczenia rowny 0 w przypadku powodzenia i 1 przy porazce. OPCJE Po argumentach rozmiar i przesuniecie moga wystepowac przyrostki binarne (2^N): KiB (=1024), MiB (=1024*1024) i tak dalej dla GiB, TiB, PiB, EiB, ZiB oraz YiB (czesc "iB" jest opcjonalna, na przyklad "K" ma to samo znaczenie, co "KiB") lub dziesietne (10^N): KB (=1000), MB (=1000*1000) i podobnie dla GB, TB, PB, EB, ZB oraz YB. Opcje --collapse-range, --dig-holes, --punch-hole, --zero-range i --posix wzajemnie sie wykluczaja. -c, --collapse-range Usuwa zakres bajtow z pliku, bez pozostawiania dziury. Zakres bajtow do usuniecia rozpoczyna sie na przesunieciu i kontynuuje sie przez dlugosc bajtow. Po ukonczeniu operacji, zawartosc pliku zaczynajaca sie w polozeniu przesuniecie+dlugosc zostanie dodana w polozeniu przesuniecie, a plik stanie sie o dlugosc bajtow mniejszy. W przypadku tej operacji nie mozna uzyc opcji --keep-size. Dostepne od Linuksa 3.15 w systemach plikow ext4 (tylko w przypadku plikow z ekstentami) i XFS. System plikow moze narzucic ograniczenia w ziarnistosci operacji, aby zapewnic wydajna implementacje. Zwykle przesuniecie i dlugosc musza byc wielokrotnosciami rozmiaru blokow logicznych systemu plikow, ktora zalezy od konfiguracji i typu systemu plikow. Jesli system plikow posiada takie wymaganie, operacja zawiedzie z bledem EINVAL w przypadku jego naruszenia. -d, --dig-holes Wykrywa ciagi zer i tworzy z nich dziury. W ten sposob plik stanie sie rzadki, bez zajmowania dodatkowej przestrzeni dysku. Minimalny rozmiar dziury zalezy od rozmiaru bloku wejscia/wyjscia systemu plikow (zwykle 4096 bajtow). Przy korzystaniu z tej opcji dorozumiane jest --keep-size. Jesli nie poda sie zakresu za pomoca opcji --offset i --length, to przeanalizowany pod katem dziur zostanie caly plik. Mozna myslec o tej opcji jako o wykonaniu polecenia "cp --sparse", a nastepnie zmianie nazwy pliku docelowego na pierwotna, bez koniecznosci zajmowania dodatkowej przestrzeni dysku. Liste obslugiwanych systemow plikow opisano przy opcji --punch-hole. -i, --insert-range Umieszcza dziure o dlugosci bajtow poczynajac od przesuniecia, przesuwajac istniejace dane. -l, --length dlugosc Okresla dlugosc zakresu, w bajtach. -n, --keep-size Nie modyfikuje pozornej dlugosci pliku. W ten sposob moga zostac przydzielone bloki poza koncem pliku, ktore mozna usunac przycinajac go. -o, --offset przesuniecie Okresla poczatkowe przesuniecie zakresu, w bajtach. -p, --punch-hole Zwalnia przestrzen (tj. tworzy dziure) w zakresie bajtow poczynajac od przesuniecia, kontynuujac przez dlugosc bajtow. W podanym zakresie, czesciowe bloki systemu plikow sa zerowane, a cale bloki systemu plikow sa usuwane z pliku. Po pomyslnym wywolaniu, kolejne odczyty z tego zakresu zwroca zera. Opcji nie mozna laczyc z opcja --zero-range. Przy korzystaniu z tej opcji dorozumiane jest --keep-size. Obslugiwane w systemach plikow XFS (od Linuksa 2.6.38), ext4 (od Linuksa 3.0), Btrfs (od Linuksa 3.7), tmpfs (od Linuksa 3.5) oraz gfs2 (od Linuksa 4.16). -v, --verbose Wlacza tryb szczegolowy. -x, --posix Wlacza tryb dzialania POSIX. W tym trybie operacji przydzialu zawsze jest konczona, lecz moze zajac dluzej, jesli szybkie przydzielenie nie jest obslugiwane przez dany system plikow. -z, --zero-range Zeruje przestrzen w zakresie bajtow poczynajac od przesuniecia i kontynuujac przez dlugosc bajtow. W podanym zakresie bloki sa przydzielane w miejscach, w ktorym w pliku wystepuja dziury. Po pomyslnym wywolaniu, kolejne odczyty z tego zakresu zwroca zera. Zerowanie w systemie plikow probuje sie dokonac przez konwersje zakresu do niezapisanych ekstentow. Takie podejscie oznacza, ze podany zakres nie zostanie fizycznie wyzerowany na urzadzeniu (z wyjatkiem czesciowych blokow przy jego granicach), a wejscie/wyjscie jest w takim przypadku wymagane tylko do aktualizacji metadanych. Aby zapobiec modyfikacji dlugosci pliku mozna podac opcje --keep-size. Dostepne od Linuksa 3.14 w systemach plikow ext4 (tylko w przypadku plikow z ekstentami) i XFS. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. AUTORZY Eric Sandeen , Karel Zak ZOBACZ TAKZE truncate(1), fallocate(2), posix_fallocate(3) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie fallocate jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.41.2 2025-09-22 FALLOCATE(1)