mirror_zfs/lib/libzfs
наб 30dadd5c04 libzfs: run_process: set O_NONBLOCK on lines pipe
Without this, we can deadlock: the child is stuck writing to the pipe,
and we are stuck waiting on the child

With this, we the child fills up the pipe (a few hundred kBish)
and starts getting EAGAINs, which allows it to either crash
or ignore them

libzfs_run_process_get_stdout*() is used only by zpool -c scripts,
which output short runs of K=V pairs, so the likelihood of losing
legitimate data there is relatively low

Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #12082
2021-05-21 09:47:53 -07:00
..
os FreeBSD: Don't force xattr mount option 2021-05-13 15:13:20 -07:00
.gitignore Clean up lib dependencies 2020-07-10 14:26:00 -07:00
libzfs_changelist.c Add 'zfs rename -u' to rename without remounting 2020-09-01 16:14:16 -07:00
libzfs_config.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_crypto.c libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2021-05-12 21:21:35 -07:00
libzfs_dataset.c undocumented libzfs API changes broke "zfs list" 2021-05-06 11:24:56 -07:00
libzfs_diff.c undocumented libzfs API changes broke "zfs list" 2021-05-06 11:24:56 -07:00
libzfs_import.c zpool: speed up importing large pools (#11469) 2021-01-21 12:55:54 -08:00
libzfs_iter.c lib/: set O_CLOEXEC on all fds 2021-04-11 15:45:59 -07:00
libzfs_mount.c undocumented libzfs API changes broke "zfs list" 2021-05-06 11:24:56 -07:00
libzfs_pool.c libzfs: zpool_load_compat(): open feature file cloexec 2021-05-08 09:16:26 -07:00
libzfs_sendrecv.c undocumented libzfs API changes broke "zfs list" 2021-05-06 11:24:56 -07:00
libzfs_status.c Improvements to the 'compatibility' property 2021-04-12 09:08:56 -07:00
libzfs_util.c libzfs: run_process: set O_NONBLOCK on lines pipe 2021-05-21 09:47:53 -07:00
libzfs.abi libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2021-05-12 21:21:35 -07:00
libzfs.pc.in Spruce up pkg-config files for libzfs/libzfs_core 2020-09-04 11:11:18 -07:00
libzfs.suppr Library ABI tracking with abigail 2020-11-17 09:18:52 -08:00
Makefile.am libzfs: add keylocation=https://, backed by fetch(3) or libcurl 2021-05-12 21:21:35 -07:00
THIRDPARTYLICENSE.openssl Fix typos in lib/ 2019-09-02 17:53:27 -07:00
THIRDPARTYLICENSE.openssl.descrip Encryption patch follow-up 2017-10-11 16:54:48 -04:00