Come menzionato da bmike, xattr.h ha una costante chiamata XATTR_MAXSIZE che è impostata su 64 MiB:
/* Maximum extended attribute size supported by VFS */
#define XATTR_MAXSIZE (64 * 1024 * 1024)
VFS significa file system virtuale.
Da link :
Although the named forks in HFS+ support arbitrarily large amounts of data through extents, the OS support for extended attributes only supports inline attributes, limiting their size to that which can fit within a single B*-tree node.
Non so se è accurato o come vedere quella dimensione. Per prima cosa ti imbatterai nella lunghezza massima dell'argomento:
$ 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'
Non sono riuscito a trovare alcun modo per ottenere input da STDIN o altre soluzioni alternative per questo.
Puoi anche usare nomi di attributi personalizzati:
$ xattr -w com.apple.metadata:MyAttribute gfdylvyieo a.txt
$ mdls -n MyAttribute a.txt
MyAttribute = "gfdylvyieo"
$ mdfind gfdylvyieo
/private/tmp/a.txt