From: Derrick Brashear Date: Wed, 22 Aug 2007 03:19:28 +0000 (+0000) Subject: STABLE14-linux-module-error-handling-20070821 X-Git-Tag: openafs-stable-1_4_5-pre1~18 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=d0e827e21dda428aaaf607eeed1077139b14f471;p=packages%2Fo%2Fopenafs.git STABLE14-linux-module-error-handling-20070821 be more careful about what we call when, and clean up after ourselves (cherry picked from commit c31cfea03d95779cf334c7aa0c08067e49dc5d47) --- diff --git a/src/afs/LINUX/osi_module.c b/src/afs/LINUX/osi_module.c index 19408f8d5..9d5ec7362 100644 --- a/src/afs/LINUX/osi_module.c +++ b/src/afs/LINUX/osi_module.c @@ -370,11 +370,20 @@ init_module(void) if (err) return err; err = afs_init_inodecache(); - if (err) + if (err) { +#ifndef LINUX_KEYRING_SUPPORT + osi_syscall_clean(); +#endif return err; + } err = register_filesystem(&afs_fs_type); - if (err) - return err; + if (err) { + afs_destroy_inodecache(); +#ifndef LINUX_KEYRING_SUPPORT + osi_syscall_clean(); +#endif + return err; + } osi_sysctl_init(); #ifdef LINUX_KEYRING_SUPPORT @@ -395,9 +404,13 @@ void cleanup_module(void) #endif { +#ifdef LINUX_KEYRING_SUPPORT osi_keyring_shutdown(); +#endif osi_sysctl_clean(); +#ifndef LINUX_KEYRING_SUPPORT osi_syscall_clean(); +#endif unregister_filesystem(&afs_fs_type); afs_destroy_inodecache();