¿Por qué salir del código 141 con grep -q?

¿Alguien puede explicar por qué obtengo el código de salida 141 de lo siguiente?

#!/usr/bin/bash

set -o pipefail

zfs list | grep tank
echo a ${PIPESTATUS[@]}

zfs list | grep -q tank
echo b ${PIPESTATUS[@]}

cat /etc/passwd | grep -q root
echo c ${PIPESTATUS[@]}

yo obtengo

...
a 0 0
b 141 0
c 0 0

A mi entender, el código de salida 141 es un fracaso, pero la línea anterior da cero, por lo que debería ser un éxito, diría yo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta