Follow 0/-E convention for module load errors

Because errors during module load are so rare it went unnoticed that
it was possible that a positive errno was returned.  This would result
in the module being loaded, nothing being initialized, and a system
panic shortly thereafter.  This is what was causing the hard failures
in the automated testing.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf 2015-11-16 15:00:38 -08:00
parent 256fa983f4
commit 3d8d245fb3
2 changed files with 2 additions and 6 deletions

4
TEST
View File

@ -71,14 +71,10 @@ case "$BB_NAME" in
Amazon*)
;;
CentOS*)
# Fails vnode:vn_rdwr, CentOS 6.
TEST_SPLAT_SKIP="yes"
# Sporadic segmentation faults
TEST_ZTEST_SKIP="yes"
# Sporadic VERIFY(!zilog_is_dirty(zilog)) failed
TEST_ZILTEST_SKIP="yes"
# Hangs loading modules
TEST_ZCONFIG_SKIP="yes"
;;
Debian*)
;;

View File

@ -6011,7 +6011,7 @@ _init(void)
{
int error;
error = vn_set_pwd("/");
error = -vn_set_pwd("/");
if (error) {
printk(KERN_NOTICE
"ZFS: Warning unable to set pwd to '/': %d\n", error);
@ -6021,7 +6021,7 @@ _init(void)
spa_init(FREAD | FWRITE);
zfs_init();
if ((error = zvol_init()) != 0)
if ((error = -zvol_init()) != 0)
goto out1;
zfs_ioctl_init();