FALLOCATE(1) Polecenia uzytkownika FALLOCATE(1) NAZWA fallocate - przydziela miejsce plikowi lub zwalnia miejsce pliku SKLADNIA fallocate [-c|-p|-z|-w] [-o przesuniecie] -l dlugosc [-n] nazwa-pliku fallocate -d [-o przesuniecie] [-l dlugosc] nazwa-pliku fallocate -r [-o przesuniecie] 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, --report-holes, --punch-hole, --zero-range, --write-zeroes 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. -r, --report-holes Skanuje plik i zwraca rozlozenie dziur, nie modyfikujac go. Pokazywane sa dwa rodzaje dziur: plikowe - bloki, ktorych system plikow nie przydzielil (zglaszane przez SEEK_HOLE); danych - przedzialy wewnatrz pliku, ktore sa logicznie wypelnione bajtami zerowymi, ale wciaz zajmuja miejsce na dysku. W trybie szczegolowym (verbose) dla kazdej dziury wypisywane jest przesuniecie, koniec i rozmiar w bajtach, po ktorym nastepuje domyslne podsumowanie pokazujace calkowity rozmiar i procent pliku, jaki zajmuja dziury kazdego typu. Jesli nie poda sie przesuniecia opcja --offset, skanowany jest caly plik. Opcja dokonujaca wylacznie odczytu, moze posluzyc do oszacowania jak duzo miejsca mozna odzyskac opcja --dig-holes. Liste obslugiwanych systemow plikow opisano przy opcji --punch-hole. -i, --insert-range Umieszcza dziure o dlugosci bajtow poczynajac od przesuniecia, przesuwajac istniejace dane. Supported for XFS (since Linux 4.1) and ext4 (since Linux 4.2). -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. -w, --write-zeroes Zeruje przestrzen w zakresie bajtow poczynajac od przesuniecia i kontynuujac przez dlugosc bajtow. W podanym zakresie zapisywane bloki sa wstepnie przydzielane w miejscach, w ktorym w pliku wystepuja dziury. Po pomyslnym wywolaniu, kolejne odczyty z tego zakresu zwroca zera, a kolejne zapisy do tego zakresu nie wymagaja wtornych zmian w metadanych opisujacych mapowanie pliku. Zerowanie jest dokonywane na poziomie systemu plikow. System plikow moze korzystac z polecen zerowania przyspieszanych sprzetowo albo moze dokonywac zwyklego zapisu. Zachowanie zalezy od sposobu zaprojektowania systemu plikow i dostepnego sprzetu. W przypadku operacji write-zeroes nie mozna podac opcji --keep-size, poniewaz nie mozna przydzielac zapisywanych blokow poza rozmiar i-wezla. -x, --posix Wlacza tryb dzialania POSIX. W tym trybie operacja 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.42.3 2026-09-02 FALLOCATE(1)