Use safemem.FromIOReader/Writer to iterate p9file/lisafs.ClientFD reads/writes.
Use safemem.FromIOReader/Writer to iterate p9file/lisafs.ClientFD reads/writes.

safemem.FromIOReader/Writer makes individual Read/Write calls for each
safemem.Block rather than the whole safemem.BlockSeq; since some safemem.Blocks
may require safecopy, which requires buffering, this reduces the maximum buffer
size required at the cost of potentially requiring more RPCs. However, in
practice, ~every gofer mount uses the default message size of 1 MB, which is
smaller than the size of most safemem.Blocks, so multiple RPCs are already
required for larger reads and writes.

This is consistent with VFS1 (although we use the existing handleReadWriter
pooling to avoid introducing additional heap allocations).

PiperOrigin-RevId: 473885170

google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor