ntfsfallocate - preallocate space to a file on an NTFS volume
ntfsfallocate [
options] -l
length device file
[attr-type [
attr-name]]
ntfsfallocate preallocates space for any attribute of a file or
directory, thus reserving space before actual contents is written. This is
similar to
fallocate(1).
Below is a summary of all the options that
ntfsfallocate accepts. Nearly
all options have two equivalent names. The short name is preceded by
-
and the long name is preceded by
--. Any single letter options, that
don't take an argument, can be combined into a single command, e.g.
-fv
is equivalent to
-f -v. Long named options can be abbreviated to any
unique prefix of their name.
-
-f, --force
- This will override some sensible defaults, such as not
using a mounted volume. Use this option with caution.
-
-h, --help
- Show a list of options with a brief description of each
one.
-
-l, --length LENGTH
- This is a mandatory option to specify the number of bytes
to preallocate. It will be rounded up to a multiple of the cluster size. A
suffix of K, M, G, T, P or E may be appended to mean a multiplicative
factor of a power of 1000. Similarly a suffix of Ki, Mi, Gi, Ti, Pi or Ei
may be appended to mean a multiplicative factor of a power of 1024.
-
-n, --no-size-change
- Do not change the apparent size of the file. The space
allocated beyond the apparent size is not zeroed, but subsequent writing
beyond the apparent end of file will force zeroing the inner allocated
space as it cannot be considered as a hole any more, and this may take
significant time.
-
-N, --no-action
- Simulate the allocation without actually write to
device.
-
-o, --offset OFFSET
- Specify the offset in the file where preallocation starts.
By default, the preallocation is counted from the beginning of the file.
Space already allocated in the area defined by offset and length is
preserved.
-
-q, --quiet
- Suppress some debug/warning/error messages.
-
-v, --verbose
- Display more debug/warning/error messages.
-
-V, --version
- Show the version number, copyright and license of
ntfsfallocate.
- attr-type
- Define a particular attribute type to be preallocated
(advanced use only). By default, the unnamed $DATA attribute (the contents
of a plain file) will be preallocated. The attribute has to be specified
by a number in decimal or hexadecimal :
Hex |
Decimal |
Name |
0x10 |
16 |
"$STANDARD_INFORMATION" |
0x20 |
32 |
"$ATTRIBUTE_LIST" |
0x30 |
48 |
"$FILE_NAME" |
0x40 |
64 |
"$OBJECT_ID" |
0x50 |
80 |
"$SECURITY_DESCRIPTOR" |
0x60 |
96 |
"$VOLUME_NAME" |
0x70 |
112 |
"$VOLUME_INFORMATION" |
0x80 |
128 |
"$DATA" |
0x90 |
144 |
"$INDEX_ROOT" |
0xA0 |
160 |
"$INDEX_ALLOCATION" |
0xB0 |
176 |
"$BITMAP" |
0xC0 |
192 |
"$REPARSE_POINT" |
0xD0 |
208 |
"$EA_INFORMATION" |
0xE0 |
224 |
"$EA" |
0xF0 |
240 |
"$PROPERTY_SET" |
0x100 |
256 |
"$LOGGED_UTILITY_STREAM" |
- attr-name
- Define the name of the particular attribute type to be
preallocated (advanced use only).
Preallocate 100MB to the file database.db located in the Data directory which is
at the root of an NTFS file system.
ntfsfallocate -l 100M /dev/sda1 Data/database.db
There are no known problems with
ntfsfallocate, however it can lead to
configurations not supported by Windows and Windows may crash (BSOD) when
writing to preallocated clusters which were not written to earlier. Files with
preallocated space should be fully be written to before they are updated by
Windows.
If you find a bug in
ntfsfallocate proper, please send an email
describing the problem to the development team:
[email protected]
ntfsfallocate was written by Jean-Pierre Andre.
ntfsfallocate is part of the
ntfs-3g package and is available
from:
https://github.com/tuxera/ntfs-3g/wiki/
ntfs-3g(8),
ntfstruncate(8),
ntfsprogs(8),
fallocate(1)