Se você gravar em um dispositivo de bloco usando algum tamanho N menor que o tamanho de bloco subjacente, então esperaria que o SO (1) lesse um bloco inteiro do dispositivo, (2) atualize os primeiros N blocos (assumindo um deslocamento zero) com o que você está escrevendo, e (3) reescreva o bloco inteiro para o dispositivo. O resultado final seria que parece ter escrito os primeiros N bytes.