tavail = bdirect_write_prepare(t, &tptr);
n = MIN(l, favail);
n = MIN(n, tavail);
memcpy(tptr, fptr, n);
bdirect_read_commit(f, fptr + n);
bdirect_write_commit(t, tptr + n);
tavail = bdirect_write_prepare(t, &tptr);
n = MIN(l, favail);
n = MIN(n, tavail);
memcpy(tptr, fptr, n);
bdirect_read_commit(f, fptr + n);
bdirect_write_commit(t, tptr + n);