]> git.proxmox.com Git - mirror_zfs-debian.git/commit
Fix ztest vdev file paths.
authorEtienne Dechamps <etienne.dechamps@ovh.net>
Mon, 1 Oct 2012 14:34:52 +0000 (16:34 +0200)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 3 Oct 2012 20:32:48 +0000 (13:32 -0700)
commit6aec1cd5a674d7ee9917a75fee9a82fc97cfdf77
treeb6707675578abc895c8d3f7c6a31a08b0a297dae
parent274091c07482773c7e81cbe70f0b46b4606048d0
Fix ztest vdev file paths.

Currently, in several instances (but not all), ztest generates vdev
file paths using a statement similar to this:

    snprintf(path, sizeof (path), ztest_dev_template, ...);

This worked fine until 40b84e7aec6392187722e61e5a4a853b530bf60f, which
changed path to be a pointer to the heap instead of an array allocated
on the stack. Before this change, sizeof(path) would return the size of
the array; now, it returns the size of the pointer instead.

As a result, the aforementioned sprintf statement uses the wrong size
and truncates the vdev file path to the first 4 or 8 bytes (depending
on the architecture). Typically, with default settings, the file path
will become "/tmp/zt" instead of "/test/ztest.XXX".

This issue only exists in ztest_vdev_attach_detach() and
ztest_fault_inject(), which explains why ztest doesn't fail right away.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #989
cmd/ztest/ztest.c