DCMD_FSYS_PREGROW_FILE

Расширение файла и его опциональное зануление

Прототип:

#include <sys/dcmd_blk.h>
#define DCMD_FSYS_PREGROW_FILE __DIOT( _DCMD_FSYS, 14, off64_t )

Аргументы:

filedes
Файловый дескриптор открытого устройства.
dcmd
DCMD_FSYS_PREGROW_FILE.
dev_data_ptr
Указатель на off64_t.
n_bytes
Размер типа off64_t, полученный с помсощью sizeof().
dev_info_ptr
NULL.

Описание:

Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда позволяет изменить размер файла, ассоциированного с filedes, и провести его опциональное зануление. Это отличается от POSIX вызова ftruncate(), который всегда зануляет новое пустое пространство.

Опция pregrow-fill io-blk.so определяет требуется ли выполнять зануление при расширении. По умолчанию зануление включено из соображений безопасности, во избежание получения доступа к чужим данным. Однако, на усмотрение пользователя, оно может быть отключено в целях повышения производительности.

Исходящие данные:

Размер файла.

Входящие данные:

Отсутствуют.

Примеры:

int fd;
off64_t sz;
fd = open( ... );
sz = ...;
if ( devctl( fd, DCMD_FSYS_PREGROW_FILE, &sz, sizeof( sz ), NULL ) != EOK )
{
/* Error */
}

Тематические ссылки:

devctl(), ftruncate(), io-blk.so




Предыдущий раздел: перейти