While trying to move data from zion to osiris, two streams failed with:
internal error: Arg list too long
On the recv side. We tracked this down to the following code in
dmu_tx_count_free():
if (txh->txh_memory_tohold > DMU_MAX_ACCESS) {
txh->txh_tx->tx_err = E2BIG;
dbuf_rele(dbuf, FTAG);
break;
}
The datasets in question were for crash dumps and core files, so
it's reasonable to expect very large files to be deleted in
between snapshots.