Como se mencionó en bmike, xattr.h tiene una constante llamada XATTR_MAXSIZE que se establece en 64 MiB:
/* Maximum extended attribute size supported by VFS */
#define XATTR_MAXSIZE (64 * 1024 * 1024)
VFS significa sistema de archivos virtual.
De enlace :
Aunque las bifurcaciones nombradas en HFS + admiten cantidades de datos arbitrariamente grandes a través de extensiones, el soporte del sistema operativo para atributos extendidos solo admite atributos en línea, limitando su tamaño a lo que puede caber dentro de un único nodo B *.
No sé si eso es correcto o cómo ver ese tamaño. Sin embargo, primero te encontrarás con la longitud máxima del argumento:
$ getconf ARG_MAX
262144
$ touch a.txt
$ xattr -w someattribute "$(dd if=/dev/random bs=140000 count=1)" a.txt
1+0 records in
1+0 records out
140000 bytes transferred in 0.011996 secs (11670527 bytes/sec)
xattr: [Errno 7] Argument list too long: 'a.txt'
No pude encontrar ninguna manera de obtener información de STDIN o cualquier otra solución alternativa para ello.
También puedes usar nombres de atributos personalizados:
$ xattr -w com.apple.metadata:MyAttribute gfdylvyieo a.txt
$ mdls -n MyAttribute a.txt
MyAttribute = "gfdylvyieo"
$ mdfind gfdylvyieo
/private/tmp/a.txt