Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Increase Linux pipe buffer size on zfs recv to the maximum system size
I noticed when reviewing documentation that it is possible for userspace to use fctnl(fd, F_SETPIPE_SZ, (unsigned long) size) to change the kernel pipe buffer size on Linux to increase the pipe size up to the value specified in /proc/sys/fs/pipe-max-size. There are users using mbuffer to improve zfs recv performance when piping over the network, so it seems advantageous to integrate such functionality directly into the zfs recv tool. This avoids the addition of two buffers and two copies (one for the buffer mbuffer adds and another for the additional pipe), so it should be more efficient. This could have been made configurable and/or this could have changed the value back to the original after we were done with the file descriptor, but I do not see a strong case for doing either, so I went with a simple implementation. Closes openzfs#1161 Signed-off-by: Richard Yao <[email protected]>
- Loading branch information