Em man 1 pv :
Note that if the input size cannot be calculated, and the output is a block device, then the size of the block device will be used and
pvwill automatically stop at that size as if-Shad been given.
Este "como se -S " é para evitar "nenhum espaço deixado no dispositivo" e para sair com sucesso.
Se você quer saber como é que pv pode saber o tamanho de seu stdout, a resposta é:
Não é o caso pv flui para algum fifo e então o shell lê o fifo e grava em /dev/sdd . O que acontece é que o shell faz com que o descritor de arquivo pv aponte para /dev/sdd desde o início, então o processo pode detectar que é um dispositivo de bloco, consulta sobre seu tamanho etc.