HomeFreeBSD

Fix 'zfs send -D' segfault

Description

Fix 'zfs send -D' segfault

Sending pools with dedup results in a segfault due to a Solaris
portability issue. Under Solaris the pipe(2) library call
creates a bidirectional data channel. Unfortunately, on Linux
pipe(2) call creates unidirection data channel. The fix is to
use the socketpair(2) function to create the expected
bidirectional channel.

Seth Heeren did the original leg work on this issue for zfs-fuse.
We finally just rediscovered the same portability issue and
dfurphy was able to point me at the original issue for the fix.

Closes #268

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Jun 9 2011, 8:41 PM
Parents
rGcbc6fab65c20: Sanatize zpios-sanity.sh environment
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG1b9d8c340f89: Fix 'zfs send -D' segfault (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Jun 9 2011, 8:58 PM