Função de Falocate 2 C

Função de Falocate 2 C
“A função Fallocate () é usada para que o chamador possa alterar diretamente o espaço do disco alocado para o arquivo que é referenciado pelo FD para uma faixa de bytes começando no deslocamento e indo para Len Bytes. Usando o Fallocate, você pode negociar ou pré-allocar o espaço do disco que foi atribuído a um arquivo. A pré -alocação é concluída rapidamente para sistemas de arquivos que implementam o sistema Falocate, alocando blocos e designando -os como não -inicializados, não precisando de IO para os blocos de dados. Isso é muito mais rápido do que criar um arquivo colocando todos os zeros nele. A função Fallocate () retorna um status de saída de sucesso ou falha de 0 ou 1.

Neste manual, examinaremos essa idéia em detalhes e daremos exemplos de programas C que usam a função "Fallocate ()". Além disso, examinaremos a sintaxe da função "Fallocate ()" neste manual e demonstraremos como enviar parâmetros para ela ao programar em c.”

Sintaxe
A seguir, a sintaxe da função "Fallocate ()": você pode facilmente entender os parâmetros desta função "Fallocate ()" no código C, dando uma olhada nisso.

int fallocate (int fd, modo int, off_t offset, off_t len);

A operação a ser desmaiada no intervalo específico é determinada pelo parâmetro de modo. O Fallocate () aloca o espaço do disco no intervalo específico "Offset" e "Len" como sua operação padrão (o modo é zero). Se "Offset e Len" forem mais do que o intervalo de arquivos, o tamanho do arquivo ajustará. Qualquer sub -região no intervalo definido por "Offset" e "Len" que estava vazio antes da chamada terá seu valor inicial definido como zero. Esse comportamento padrão, que tem como objetivo implementar a função da biblioteca Posix Falocation (3).

Uma chamada lucrativa garante que a gravação ainda mais definida por "Len" e "Offset" não terá sucesso devido ao espaço insuficiente do disco.

Exemplo 1

Os exemplos deste manual utilizarão o Ubuntu 20.04. A instalação do GCC requer executar algumas instruções após a instalação do Ubuntu 20.04. A instalação do compilador GCC nos permitirá executar este código de programação C no Ubuntu 20.04. Quando o Ubuntu 20.04 tem este compilador carregado, abrimos o editor de texto para codificação e começamos a inserir linhas de código que usarão a função "setenv ()" da linguagem de programação C.

No início do código C, empregamos vários arquivos de cabeçalho. A única coisa que precisamos fazer ao escrever o código C é incluir os arquivos de cabeçalho; Caso contrário, nosso código C não terá as funções de que precisamos. Como você pode verificar nesta amostra, temos o “fcntl. arquivo de cabeçalho H ”. Em seguida, o arquivo de cabeçalho de entrada e saída padrão, “Stdio.h ”, foi posicionado na segunda linha do código. Em seguida, adicionamos um segundo arquivo de cabeçalho, "Errno", o valor inteiro Errno, que é produzido por chamadas do sistema, bem como alguns métodos de biblioteca no caso de um erro para identificar que algo deu errado, é definido no Errno.H Arquivo de cabeçalho da biblioteca padrão de programação C.

Depois disso, temos “string. H ”, que também é um arquivo de cabeçalho que inclui a declaração da função, tipos e funções de manuseio de string. Agora, temos a função "Main ()" e também precisamos declarar essa função como um tipo de dados "int", por isso colocamos essa função aqui como "int main ()". Em seguida, declaramos uma variável "FD" do tipo de dados "int" e colocamos a função "Open ()" aqui. Utilizamos esta função "aberta ()" usada para ler, escrever ou abrir o arquivo para ambos.

Quando você não estiver trabalhando no mesmo diretório que o arquivo, use um caminho absoluto que comece com "/". Ao trabalhar no mesmo diretório que o arquivo, use um caminho relativo, que consiste apenas no nome do arquivo e sua extensão. Aqui, o "0_wronly" significa que estamos abrindo o arquivo apenas para escrever, e o "O_Creat" é usado para receber um aviso se o arquivo já estiver presente. O S_IRUSR é uma constante global encontrada no POSIX SYS/STAT. arquivo h. Bit de autorização de leitura do usuário é como é chamado. O prefixo S_ pode significar "status de", "rusr" ou "leitura do usuário". Então temos “s_iwusr”.

Para o proprietário do arquivo, defina o bit de autorização de gravação. Abaixo, temos a condição "se" e colocamos a condição de que "FD" é igual a "-1". Se a condição for verdadeira, a função "Perror ()" é utilizada. Este "Perror" é utilizado para imprimir a mensagem de erro para Stderr. Em seguida, declaramos novamente e inicializamos a variável "int" chamada "status" e colocamos a função "Posix_fallocate" aqui e passamos três parâmetros. O "FD" é o primeiro parâmetro, "0" é utilizado como o segundo parâmetro e depois temos "100" como o terceiro parâmetro dessa função "Fallocate".

Abaixo desta condição da declaração "se" é "status! = 0 ". Se for verdadeiro, a instrução "printf" será executada para imprimir o erro na tela e também temos o "retorno 0" no final deste código.

Conclusão

Este manual demonstra como utilizar a função de programação "Fallocate ()" C. A função "Fallocate ()" foi totalmente descrita aqui, juntamente com exemplos de como usá -la na programação C. Para ajudá -lo a entender como usar a função C "Fallocate ()" e como ele retorna o resultado, também incluímos o código de amostra. Como já foi explicado, o método "Fallocate ()" na programação C é usado para que o chamador possa alterar diretamente o espaço do disco alocado para o arquivo que é referenciado pelo FD para um início de bytes no deslocamento e indo para Len Bytes. Também falamos sobre o fato de que alguns parâmetros devem ser passados ​​para a função "Fallocate ()". Prevemos que este manual ajudará no seu entendimento das funções de programação C, e você poderá fazer isso sozinho.